নির্দিষ্ট পরিস্থিতিতে একটি ফাইলের বিষয়বস্তু পড়ার সময় ফাইলের শেষ পর্যন্ত পৌঁছে যাবে এই ধরনের পরিস্থিতিতে একটি EOFException নিক্ষেপ করা হয়৷
বিশেষ করে, ইনপুট স্ট্রীম অবজেক্ট ব্যবহার করে ডেটা পড়ার সময় এই ব্যতিক্রমটি নিক্ষেপ করা হয়। অন্যান্য পরিস্থিতিতে একটি নির্দিষ্ট মান নিক্ষেপ করা হবে যখন ফাইলের শেষে পৌঁছে যাবে।
উদাহরণ
DataInputStream ক্লাস বিবেচনা করা যাক, এটি বিভিন্ন পদ্ধতি যেমন readboolean(), readByte(), readChar() ইত্যাদি প্রদান করে। আদিম মানগুলি পড়ার জন্য। এই পদ্ধতিগুলি ব্যবহার করে একটি ফাইল থেকে ডেটা পড়ার সময় যখন ফাইলের শেষে পৌঁছে যায় তখন একটি EOFException নিক্ষেপ করা হয়৷
import java.io.DataInputStream; import java.io.FileInputStream; public class EOFExample { public static void main(String[] args) throws Exception { //Reading from the above created file using readChar() method DataInputStream dis = new DataInputStream(new FileInputStream("D:\\data.txt")); while(true) { char ch; ch = dis.readChar(); System.out.print(ch); } } }
রানটাইম ব্যতিক্রম
Hello how are youException in thread "main" java.io.EOFException at java.io.DataInputStream.readChar(Unknown Source) at SEPTEMBER.remaining.EOFExample.main(EOFExample.java:11)
EOFException হ্যান্ডলিং
DataInputStream ব্যবহার করে ফাইলের শেষ পর্যন্ত না পৌঁছে আপনি ফাইলের বিষয়বস্তু পড়তে পারবেন না ক্লাস আপনি যদি চান, আপনি ইনপুটস্ট্রিম ইন্টারফেসের অন্যান্য সাব ক্লাস ব্যবহার করতে পারেন।
উদাহরণ
নিচের উদাহরণে আমরা DataInputStream-এর পরিবর্তে FileInputStream ক্লাস ব্যবহার করে উপরের প্রোগ্রামটি আবার লিখেছি একটি ফাইল থেকে ডেটা পড়তে।
import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Scanner; public class AIOBSample { public static void main(String[] args) throws Exception { //Reading data from user byte[] buf = " Hello how are you".getBytes(); //Writing it to a file using the DataOutputStream DataOutputStream dos = new DataOutputStream(new FileOutputStream("D:\\data.txt")); for (byte b:buf) { dos.writeChar(b); } dos.flush(); System.out.println("Data written successfully"); } }
আউটপুট
Data written successfully
Java-
-এ EOFException পরিচালনা করার আরেকটি উপায় নিচে দেওয়া হলimport java.io.DataInputStream; import java.io.EOFException; import java.io.FileInputStream; import java.io.IOException; public class HandlingEOF { public static void main(String[] args) throws Exception { DataInputStream dis = new DataInputStream(new FileInputStream("D:\\data.txt")); while(true) { char ch; try { ch = dis.readChar(); System.out.print(ch); } catch (EOFException e) { System.out.println(""); System.out.println("End of file reached"); break; } catch (IOException e) { } } } }
আউটপুট
Hello how are you End of file reached