Java InputStream流读取byte[]
时间: 2023-10-25 10:21:00 浏览: 161
可以使用 InputStream 的 read(byte[] b) 方法来读取字节流到一个 byte 数组中。该方法的语法如下:
```
public int read(byte[] b) throws IOException
```
其中,参数 b 是用来存储读取数据的字节数组,返回值是读取的字节数。该方法会尽可能多地读取字节流到数组中,但不保证一定读满整个数组。
以下是一个示例代码,演示了如何使用 InputStream 读取字节流到 byte 数组中:
```java
InputStream inputStream = new FileInputStream("file.txt");
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = inputStream.read(buffer)) != -1) {
// 处理读取到的字节数据
System.out.println("Read " + bytesRead + " bytes.");
}
inputStream.close();
```
在上述代码中,我们创建了一个 FileInputStream 对象 inputStream,用于读取一个名为 "file.txt" 的文件。然后创建一个大小为 1024 的字节数组 buffer,用来存储读取到的字节数据。在 while 循环中,我们使用 inputStream.read(buffer) 方法读取字节流到 buffer 数组中,并将读取的字节数赋值给 bytesRead 变量。如果 bytesRead 的值为 -1,说明已经读取到了文件末尾,循环结束。否则,我们可以在循环体内处理读取到的字节数据。最后,我们使用 inputStream.close() 方法关闭输入流。
阅读全文