ตั้งแต่ 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",