何时在 Java 9 中使用 InputStream 的 readNBytes() 方法?
从 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",
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP