📅  最后修改于: 2023-12-03 15:01:51.406000             🧑  作者: Mango
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代码区域中。