জাভা ৯ থেকে, আমরা InputStream ক্লাস থেকে readAllBytes() মেথড ব্যবহার করতে পারি সব বাইট একটি বাইট অ্যারেতে পড়তে। এই মেথড একটি InputStream অবজেক্ট- থেকে সব বাইট একবারে পড়ে এবং ব্লক করে যতক্ষণ না বাকি সব বাইট পড়া হয় এবং স্ট্রিমের এন্ড ডিটেক্ট হয়, বা এক্সেপশন থ্রো হয়।
readAllBytes() মেথড InputStream ইনস্ট্যান্স অটোমেটিক্যালি ক্লোজ করে না। যখন এটি স্ট্রিমের এন্ডে পৌঁছায়, এরপর এই মেথডের további ইনভোকেশন একটি খালি বাইট অ্যারে রিটার্ন করতে পারে। আমরা এই মেথডটি সিম্পল ইউজ কেসের জন্য ব্যবহার করতে পারি যেখানে সব বাইট একটি বাইট অ্যারেতে পড়া কনভেনিয়েন্ট, এবং বড় পরিমাণ ডেটার ইনপুট স্ট্রিম পড়ার জন্য এটি উদ্দেশ্য নয়।
সিনট্যাক্স
public byte[] readAllBytes() throws IOException
উদাহরণ
"C:\Temp" ফোল্ডারে "Technology.txt" ফাইল তৈরি করা হয়েছে সিম্পল ডেটা সহ: { "JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA" }.
import java.nio.*;
import java.nio.file.*;
import java.io.*;
import java.util.stream.*;
import java.nio.charset.StandardCharsets;
public class ReadAllBytesMethodTest {
public static void main(String args[]) {
try(InputStream stream = Files.newInputStream(Paths.get("C://Temp//Technology.txt"))) {
// Convert stream to string
String contents = new String(stream.readAllBytes(), StandardCharsets.UTF_8);
// To print the string content
System.out.println(contents);
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}
আউটপুট
"JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA"