对我而言,在这种情况下最好的是Apache commons-io来处理此任务和类似任务。
该
IOUtils类型具有静态方法来读取
InputStream和返回
byte[]。
InputStream is;byte[] bytes = IOUtils.toByteArray(is);
在内部,这会创建一个
ByteArrayOutputStream并将字节复制到输出,然后调用
toByteArray()。
UPDATE :只要你有
bytearray,如@Peter指出,你必须转换为
ByteBuffer
ByteBuffer.wrap(bytes)
JAVA 9 UPDATE :如@saka1029所述,如果您使用的是Java
9+,则可以使用默认的
InputStreamAPI,该API现在包含
InputStream::readAllBytes函数,因此不需要外部库
InputStream is;byte[] bytes = is.readAllBytes()



