多个inputstream 转一个、byte
时间: 2024-01-14 13:02:35 浏览: 66
Blob、InputStream、byte 互转
4星 · 用户满意度95%
可以使用Java中的SequenceInputStream类来实现将多个InputStream合并成一个InputStream,然后使用ByteArrayOutputStream类将合并后的InputStream中的数据读入到一个byte数组中。下面是示例代码:
```java
// 定义多个InputStream
InputStream inputStream1 = new FileInputStream("file1.txt");
InputStream inputStream2 = new FileInputStream("file2.txt");
InputStream inputStream3 = new FileInputStream("file3.txt");
// 使用SequenceInputStream将多个InputStream合并成一个InputStream
SequenceInputStream sequenceInputStream = new SequenceInputStream(inputStream1, inputStream2, inputStream3);
// 定义ByteArrayOutputStream来存储合并后的数据
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
// 定义一个byte数组来存储每次读取的数据
byte[] buffer = new byte[1024];
int length;
// 从合并后的InputStream中读取数据,并写入到ByteArrayOutputStream中
while ((length = sequenceInputStream.read(buffer)) != -1) {
byteArrayOutputStream.write(buffer, 0, length);
}
// 将ByteArrayOutputStream中的数据转换成byte数组
byte[] bytes = byteArrayOutputStream.toByteArray();
```
这样,就可以将多个InputStream合并成一个byte数组了。
阅读全文