জাভা ৯ থেকে 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 = 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",