在Java中将输入流转换为字节数组
2022-08-31 04:00:46
如何将整个内容读入字节数组?InputStream
您可以使用Apache Commons IO来处理此任务和类似任务。
该类型具有一个静态方法,用于读取 和 返回 .IOUtils
InputStream
byte[]
InputStream is;
byte[] bytes = IOUtils.toByteArray(is);
在内部,这将创建 一个并将字节复制到输出,然后调用 。它通过复制4KiB块中的字节来处理大文件。ByteArrayOutputStream
toByteArray()
您需要从中读取每个字节并将其写入 .InputStream
ByteArrayOutputStream
然后,您可以通过调用以下命令来检索基础字节数组:toByteArray()
InputStream is = ...
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int nRead;
byte[] data = new byte[16384];
while ((nRead = is.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, nRead);
}
return buffer.toByteArray();