何时使用 Java 9 中 InputStream 的 readAllBytes() 方法?
javaobject oriented programmingprogramming更新于 2025/8/11 23:08:17
从 Java 9 开始,我们可以使用 InputStream 类中的 readAllBytes() 方法将所有字节读入字节数组。此方法一次从 InputStream 对象 读取所有字节,并阻塞,直到读取完所有剩余字节并检测到流的末尾,或者抛出异常。
reallAllBytes() 方法无法自动关闭 InputStream 实例。当它可以到达流的末尾时,该方法的进一步调用可以返回一个空字节数组。 我们可以将此方法用于简单的用例,在这些用例中,方便将所有字节读入字节数组,而不打算读取包含大量数据的输入流。
语法
public byte[] readAllBytes() throws IOException
在下面的示例中,我们在"C:\Temp 文件夹中创建了一个"Technology.txt 文件,其中包含简单的数据: { "JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM","SCALA"}。
示例
import java.nio.*;
import java.nio.file.*;
import java.io.*;
import java.util.stream.*;
import java.nio.charset.StandardCharsets;
public class ReadAllBytesMethodTest {
public static void main(String args[]) {
try(InputStream stream = Files.newInputStream(Paths.get("C://Temp//Technology.txt"))) {
// Convert stream to string
String contents = new String(stream.readAllBytes(), StandardCharsets.UTF_8);
// To print the string content
System.out.println(contents);
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}
输出
"JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA"
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

