超过1M的InputStream如何转换成byte数组
时间: 2023-10-25 08:34:29 浏览: 76
java将XML文档转换成json格式数据的示例
可以使用ByteArrayOutputStream来将InputStream转换成byte数组。具体步骤如下:
1. 创建一个ByteArrayOutputStream对象。
2. 创建一个byte数组作为缓冲区。
3. 使用while循环读取InputStream中的数据,每次读取数据后将数据写入ByteArrayOutputStream中。
4. 读取完毕后,将ByteArrayOutputStream中的数据转换成byte数组即可。
以下是示例代码:
```java
public static byte[] inputStreamToByteArray(InputStream inputStream) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
byteArrayOutputStream.write(buffer, 0, bytesRead);
}
return byteArrayOutputStream.toByteArray();
}
```
使用时只需要传入需要转换的InputStream对象即可,例如:
```java
InputStream inputStream = new FileInputStream("file.txt");
byte[] bytes = inputStreamToByteArray(inputStream);
```
阅读全文