Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में EOFException को कैसे हैंडल करें?

EOFException तब फेंका जाता है जब इनपुट स्ट्रीम से पढ़ते समय फाइल/स्ट्रीम का अंत अप्रत्याशित रूप से पहुंच जाता है (उदाहरण: DataInputStream.readChar())।

समस्या उदाहरण

DataInputStream dis = new DataInputStream(new FileInputStream("data.txt"));
while (true) {
    char ch = dis.readChar(); // EOF पर EOFException फेंकता है
    System.out.print(ch);
}

हैंडलिंग दृष्टिकोण

1. Try-Catch के साथ EOFException पकड़ें

DataInputStream dis = new DataInputStream(new FileInputStream("data.txt"));
try {
    while (true) {
        char ch = dis.readChar();
        System.out.print(ch);
    }
} catch (EOFException e) {
    System.out.println("\nEnd of file reached");
} finally {
    dis.close();
}

2. वैकल्पिक स्ट्रीम का उपयोग करें जो EOF को अलग तरीके से संकेत देते हैं

// FileInputStream.read() अंत पर -1 लौटाता है, अपवाद नहीं फेंकता
FileInputStream fis = new FileInputStream("data.txt");
int b;
while ((b = fis.read()) != -1) {
    System.out.print((char) b);
}

3. BufferedReader.readLine() - अंत पर null लौटाता है

BufferedReader br = new BufferedReader(new FileReader("data.txt"));
String line;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}

सर्वोत्तम अभ्यास

  • बाइनरी डेटा के लिए DataInputStream के साथ try-catch का उपयोग करें।
  • टेक्स्ट के लिए BufferedReader या Scanner पसंद करें (कोई अपवाद नहीं)।
  • हमेशा finally या try-with-resources में स्ट्रीम बंद करें।
  1. जावा में डायरेक्टरीज को हायरार्किकली कैसे बनाएं जावा में डायरेक्टरीज को हायरार्किकली कैसे बनाएं

    चूंकि Java 7 में Files क्लास पेश की गई थी जिसमें फाइलों, डायरेक्टरीज, या अन्य प्रकार की फाइलों पर काम करने वाले (स्टैटिक) मेथड्स हैं।createDirectories() मेथड दिए गए डायरेक्टरी को गैर-मौजूदा पैरेंट डायरेक्टरी सहित बनाता है।उदाहरणimport java.io.IOException; import java.nio.file.Files; import java.nio.

  1. Java का उपयोग करके निर्देशिका पदानुक्रम कैसे बनाएं? Java का उपयोग करके निर्देशिका पदानुक्रम कैसे बनाएं?

    java.io पैकेज का File नामक क्लास सिस्टम में एक फ़ाइल या निर्देशिका (पथ नाम) का प्रतिनिधित्व करता है। यह क्लास फ़ाइलों/निर्देशिकाओं पर विभिन्न ऑपरेशन करने के लिए विभिन्न विधियाँ प्रदान करता है। इस क्लास की mkdir() विधि वर्तमान ऑब्जेक्ट द्वारा दर्शाए गए पथ के साथ एक निर्देशिका बनाती है। निर्देशिका पदा

  1. Java में JSON ऑब्जेक्ट्स को फाइल में कैसे लिखें? Java में JSON ऑब्जेक्ट्स को फाइल में कैसे लिखें?

    JSON व्यापक रूप से उपयोग किए जाने वाले डेटा-इंटरचेंज फॉर्मेट्स में से एक है और यह हल्का और भाषा-स्वतंत्र है। json.simple एक हल्की JSON प्रोसेसिंग लाइब्रेरी है जिसका उपयोग JSON फाइल्स लिखने के लिए किया जा सकता है और इसका उपयोग JSON टेक्स्ट को एन्कोड या डिकोड करने के लिए किया जा सकता है और यह JSON स्प