我编写了一个程序,它使用 Java 9 中的 InputStream
获取所有字节
InputStream.readAllBytes()
现在,我想将其导出到Java 1.8 及更低版本。有等价的功能吗?找不到。
最佳答案
InputStream.readAllBytes()
自 java 9 而非 java 7 起可用...
除此之外,您还可以(无第三方):
inputStream.reset();
byte[] bytes = new byte[inputStream.available()];
DataInputStream dataInputStream = new DataInputStream(inputStream);
dataInputStream.readFully(bytes);
或者,如果您不介意使用第三方(Commons IO):
byte[] bytes = IOUtils.toByteArray(is);
Guava 也有帮助:
byte[] bytes = ByteStreams.toByteArray(inputStream);
关于Java 1.8 及以下版本等效于 InputStream.readAllBytes(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59049358/