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