📌  相关文章
📜  Java中的 ByteArrayInputStream read() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:01:51.406000             🧑  作者: Mango

Java中的 ByteArrayInputStream read() 方法及示例

Java的 ByteArrayInputStream 类提供了read()方法,用于从输入流中读取下一个数据字节。本文将为您介绍该方法的使用方式以及示例代码。

方法签名
public synchronized int read()
方法说明

该方法从输入流中读取下一个数据字节。

如果没有数据可用,则此方法将等待读取,直到输入流中的一个字节可用、检测到文件结束或引发异常。

返回的值是一个字节,该字节的值是0到255之间。

如果输入流已关闭,则此方法将引发IOException。

示例代码
import java.io.ByteArrayInputStream;
import java.io.IOException;

public class ByteArrayInputStreamDemo {

    public static void main(String[] args) throws IOException {
        byte[] byteArray = "Hello, World!".getBytes();
        ByteArrayInputStream stream = new ByteArrayInputStream(byteArray);

        int data = stream.read();
        while (data != -1) {
            System.out.print((char) data);
            data = stream.read();
        }
        stream.close();
    }
}

在上述示例中,我们首先创建了一个字节数组byteArray,并将“Hello, World!”字符串转换为字节数组形式。

然后,我们使用ByteArrayInputStream将该字节数组提供给流。

我们使用int数据类型来读取数据,并将第一个data赋值为第一个字节数据。

接下来,我们使用while循环读取流中的每个字节数据。在while循环中,我们打印每个数据字节的字符形式,并使用read()方法从流中读取下一个字节。如果流中没有更多数据可供读取,数据变量将设置为-1。

最后,我们使用流对象的close()方法来关闭该流。

输出结果为:Hello, World!。

完整的代码示例在上述markdown代码区域中。