Kể từ Java 9, readNBytes () có thể thêm phương thức vào InputStream lớp. Phương thức này đọc số byte được yêu cầu từ luồng đầu vào vào mảng byte đã cho . Phương thức này chặn cho đến khi len byte dữ liệu đầu vào đã đọc, kết thúc luồng được phát hiện hoặc một ngoại lệ được đưa ra. readNBytes () phương thức không đóng một luồng đầu vào. Phương pháp này có thể hữu ích để tránh bộ nhớ vấn đề với các tệp lớn.
Cú pháp
public int readNBytes(byte[] b, int off, int len) throws IOException
Trong ví dụ dưới đây, chúng tôi đã tạo một " Technology.txt "trong thư mục nguồn với dữ liệu đơn giản: {" JAVA "," PYTHON "," JAVASCRIPT "," SELENIUM "," SCALA "}.
Ví dụ
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(); } }
Đầu ra
"JAVA",