InputStream.readAllBytes()的Java 1.8和更低版本等效项

2022-04-09 00:00:00 java-8 java inputstream

我用

编写了一个程序,该程序从Java 9中的InputStream获取所有字节

InputStream.readAllBytes()

现在,我想将其导出到Java 1.8及更低版本。有没有等同的功能?找不到。


解决方案

InputStream.readAllBytes()由于Java 9不是Java 7...

除此之外,您可以(没有第三方):

byte[] bytes = new byte[(int) file.length()];
DataInputStream dataInputStream = new DataInputStream(new FileInputStream(file));
dataInputStream .readFully(bytes);

或者如果您不介意使用第三方(Commons IO):


byte[] bytes = IOUtils.toByteArray(is);

番石榴也有帮助:

byte[] bytes = ByteStreams.toByteArray(inputStream);

相关文章