readNBytes() मेथड
Java 9 से, readNBytes() मेथड InputStream क्लास में जोड़ा जा सकता है। यह मेथड अनुरोधित संख्या में बाइट्स को इनपुट स्ट्रीम से दिए गए बाइट ऐरे में पढ़ता है। यह मेथड तब तक ब्लॉक करता है जब तक len बाइट्स इनपुट डेटा पढ़ा नहीं जाता, स्ट्रीम का अंत पता नहीं चलता, या अपवाद नहीं फेंका जाता। readNBytes() मेथड इनपुट स्ट्रीम को बंद नहीं करता। यह मेथड बड़ी फाइलों के साथ मेमोरी समस्याओं से बचने के लिए उपयोगी हो सकता है।
सिंटैक्स
public int readNBytes(byte[] b, int off, int len) throws IOException
उदाहरण: Technology.txt से पढ़ना
नीचे दिए गए उदाहरण में, हमने सोर्स फोल्डर में "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 = InputStreamReadNByteMethodTest.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",
readNBytes() निर्दिष्ट संख्या में बाइट्स पढ़ने के लिए सटीक नियंत्रण प्रदान करता है, बड़े स्ट्रीम्स के लिए मेमोरी-कुशल।