何时在 Java 9 中使用 InputStream 的 readAllBytes() 方法?

从 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 9 中使用 InputStream 的 readAllBytes() 方法? 的全部内容, 来源链接: utcz.com/z/335665.html

回到顶部