大文件 inputStream转bytes
时间: 2024-04-12 14:28:47 浏览: 51
Blob、InputStream、byte 互转
4星 · 用户满意度95%
将大文件的 `InputStream` 转换为 `byte[]` 数组,可以使用以下代码示例:
```java
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class Main {
public static void main(String[] args) {
// 假设有一个名为 inputStream 的 InputStream 对象
try {
byte[] bytes = inputStreamToBytes(inputStream);
// 使用转换后的字节数组进行其他操作
} catch (IOException e) {
e.printStackTrace();
}
}
public static byte[] inputStreamToBytes(InputStream inputStream) throws IOException {
ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int len;
while ((len = inputStream.read(buffer)) != -1) {
byteBuffer.write(buffer, 0, len);
}
return byteBuffer.toByteArray();
}
}
```
在上述示例中,我们使用 `ByteArrayOutputStream` 来逐步读取 `InputStream` 中的数据,并将其写入缓冲区中。最后,通过调用 `toByteArray()` 方法,将缓冲区中的数据转换为 `byte[]` 数组返回。请确保在使用完毕后适当关闭 `InputStream` 对象。
阅读全文