java将inputStream转换为字节流
时间: 2024-05-12 11:13:09 浏览: 229
Java中的InputStream类是一个抽象类,它是所有字节输入流的超类。可以使用它的子类ByteArrayInputStream、FileInputStream、FilterInputStream、ObjectInputStream、PipedInputStream和SequenceInputStream来读取数据源中的字节数据。下面是将InputStream转换为字节数组的示例代码:
```java
public byte[] convertInputStreamToBytes(InputStream inputStream) throws IOException {
ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
byteBuffer.write(buffer, 0, len);
}
return byteBuffer.toByteArray();
}
```
该方法使用ByteArrayOutputStream类来将InputStream中的字节数据写入到字节数组中,最终返回字节数组。在循环中,使用read()方法从InputStream中读取数据,并使用write()方法将数据写入ByteArrayOutputStream中。注意,每次读取的数据长度可能小于缓冲区大小,因此需要指定读取长度len。
阅读全文