首页 > 解决方案 > InputStream.readAllBytes() 的 Java 1.8 及更低版本

问题描述

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

InputStream.readAllBytes()

现在,我想将它导出到Java 1.8 及以下版本。有没有等价的功能?找不到一个。

标签: javajava-8inputstream

解决方案


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);

推荐阅读