何时在 Java 9 中使用 InputStream 的 readNBytes() 方法?
javaobject oriented programmingprogramming
自 Java 9 起,readNBytes() 方法可添加到 InputStream 类。此方法将请求的字节数从输入流读入给定的字节数组。此方法会阻塞,直到读取了 len 个字节 的输入数据、检测到流的末尾或引发异常。readNBytes() 方法不会关闭输入流。此方法可用于避免大文件出现内存问题。
语法
public int readNBytes(byte[] b, int off, int len) throws IOException
在下面的示例中,我们在源文件夹中创建了一个"Technology.txt"文件,其中包含简单数据:{"JAVA"、"PYTHON"、"JAVASCRIPT"、"SELENIUM"、"SCALA"}。
示例
import java.io.*; import java.util.stream.*; import java.nio.*; import java.nio.file.*; public class InputStreamReadNByteMethodTest { InputStream inputStream = nputStreamReadNByteMethodTest.class.getResourceAsStream("Technology.txt"); public void testReadNBytes() throws Exception { final byte[] data = new byte[10]; inputStream.readNBytes(data, 0, 7); System.out.println(new String(data)); } public static void main(String args[]) throws Exception { InputStreamReadNByteMethodTest t = new InputStreamReadNByteMethodTest(); t.testReadNBytes(); } }
输出
"JAVA",