Java में फ़ाइल पढ़ना
अपने प्रोग्राम वाले फ़ोल्डर में सादी टेक्स्ट फ़ाइल note.txt तैयार करें। अंदर एक छोटी पंक्ति लिखें: oak। Reader.java खोलें, note.txt के लिए File बनाएँ, उसे Scanner में लपेटें, nextLine() छापें, फिर scanner को close करें। javac Reader.java से संकलित करें और java Reader चलाएँ। स्क्रीन पर oak आना चाहिए। दूसरा डेमो missing.txt खोलता है और FileNotFoundException पर रुक जाता है। Java से लिखना अगले पृष्ठ के लिए छोड़ें — इस पाठ के लिए note.txt एडिटर में हाथ से बनाएँ।
डिस्क पर पहले से मौजूद पंक्ति पढ़ें
पिछले पृष्ठ exceptions पर रुके जिन्हें आपने पकड़ा या फेंका। यह पृष्ठ उन अक्षरों तक पहुँचता है जो प्रोग्राम खत्म होने के बाद फ़ाइल में रहते हैं। शिक्षण फ़ाइल Reader.java खोलें। सार्वजनिक क्लास नाम Reader रखें ताकि फ़ाइल नाम से मेल खाए। बचे हुए Signal throw डेमो, Guard catch ब्लॉक, Alarm array रुकावटें और कोई भी Scanner जो System.in से कीबोर्ड nextLine पढ़ता है हटाएँ। प्रोग्राम को टाइप की प्रतीक्षा नहीं करनी चाहिए। फ़ाइल पढ़ना अभी भी Scanner उपयोग करता है, पर कंस्ट्रक्टर को File चाहिए, कीबोर्ड नहीं।
ऊपर तीन import चाहिए:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
main पर throws FileNotFoundException लगाएँ ताकि गायब फ़ाइल checked exception बनकर दिखे। main के अंदर डिस्क फ़ाइल का नाम:
File note = new File("note.txt");
उस फ़ाइल पर scanner बनाएँ:
Scanner scan = new Scanner(note);
पहली पंक्ति छापें:
System.out.println(scan.nextLine());
पढ़ना समाप्त करें:
scan.close();
संकलन से पहले Reader.java के बगल में note.txt बनाएँ और पहली पंक्ति पर ठीक oak टाइप करें। टेक्स्ट फ़ाइल सहेजें। Java प्रोग्राम यह टेक्स्ट फ़ाइल इस पृष्ठ पर नहीं बनाता।
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Reader {
public static void main(String[] args) throws FileNotFoundException {
File note = new File("note.txt");
Scanner scan = new Scanner(note);
System.out.println(scan.nextLine());
scan.close();
}
}
जिस फ़ोल्डर में Reader.java और note.txt दोनों हैं, वहाँ javac Reader.java चलाएँ। जब कोष्ठक, ब्रेस और सेमिकोलन मेल खाते हैं, javac खुद कोई पंक्ति नहीं लिखता। फिर java Reader — java Reader.java नहीं। चलाने की आज्ञा से .java हटाएँ। अगर javac को File या Scanner न मिले, import पंक्तियाँ गायब या गलत हैं — पहले उन्हें ठीक करें।
स्क्रीन oak दिखाती है। scanner ने डिस्क फ़ाइल की पहली पंक्ति पढ़कर छापी। प्रोग्राम को कीबोर्ड इनपुट के लिए नहीं रुकना चाहिए। अगर टर्मिनल टाइप की प्रतीक्षा करे, तो Scanner अभी भी System.in से जुड़ा है, File note से नहीं। कंस्ट्रक्टर में File दें। empty या IllegalArgumentException का स्टैक दिखे तो Signal बचा है — फ़ाइल पढ़ने वाली Reader फ़ाइल पर java Reader चलाएँ। 2 या blocked दिखे तो पुराना Alarm या Guard चल रहा है।
एक बार सफल रास्ता चलें। Java Reader.main से शुरू होता है। File ऑब्जेक्ट नाम note.txt रखता है। Scanner वह नाम खोलता है। nextLine पहली पंक्ति खींचता है। println oak दिखाता है। close scanner समाप्त करता है। और कुछ छपना नहीं चाहिए। फ़ोल्डर में note.txt न हो तो पहले टेक्स्ट फ़ाइल बनाएँ।
यहाँ nextLine का अर्थ फ़ाइल की अगली पंक्ति है, उपयोगकर्ता से अनुरोध नहीं। इनपुट पृष्ठ के बाद यह नाम उलझाना आसान है: वही नाम, अलग स्रोत। अक्षर oak टेक्स्ट फ़ाइल में रहते हैं; Java क्लास केवल पढ़ती है।
📊 File and Scanner roles
| Piece | What it does on this page |
|---|---|
| File | holds the disk name such as note.txt |
| Scanner | reads lines from that File with nextLine |
| close | finishes the Scanner read so the file handle is released |
गायब नाम FileNotFoundException फेंकता है
दूसरा प्रोग्राम वही आकार रखता है पर उस मशीन पर नहीं मिलने वाले नाम की ओर इशारा करता है: missing.txt। वह फ़ाइल न बनाएँ। चलना FileNotFoundException पर रुकना चाहिए।
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Reader {
public static void main(String[] args) throws FileNotFoundException {
File note = new File("missing.txt");
Scanner scan = new Scanner(note);
System.out.println(scan.nextLine());
scan.close();
}
}
javac Reader.java से संकलित करें, फिर java Reader चलाएँ। इस बार प्रोग्राम oak नहीं छापता। टर्मिनल FileNotFoundException बताता है। main पर throws इस checked exception को बिना catch यहाँ से बाहर जाने देता है। आपने पहले catch अभ्यास किया; यहाँ बिंदु यह पहचानना है कि गायब फ़ाइल नाम पढ़ना रोकता है। नाम लिखते समय FileNotFoundException की वर्तनी मायने रखती है। केवल «त्रुटि» कहना इस पाठ के लिए धुंधला है।
अगर गलती से missing.txt बन गई, उसे हटाएँ। शांत स्क्रीन के लिए सफल note.txt डेमो रखें। FileNotFoundException देखने के लिए ही गायब नाम डेमो चुनें। जानबूझकर फ़ाइल बदलें ताकि एक main में सफल पढ़ना और गायब रुकावट न मिल जाएँ।
इस पृष्ठ पर note.txt बनाने के लिए Java लिखना न गढ़ें। एडिटर में टेक्स्ट फ़ाइल पढ़ने के अभ्यास के लिए काफी है। अगला पृष्ठ Java से लिखना है। यह पृष्ठ स्पष्ट पढ़ना और स्पष्ट गायब रुकावट रखता है।
Signal पर throw से तुलना
throw पृष्ठ पर, खाली कप होने पर java Signal IllegalArgumentException से रुकता था। यहाँ गायब फ़ाइल के लिए रुकावट FileNotFoundException है और सफल रास्ता डिस्क से पंक्ति छापता है। Signal फ़ाइलें इतिहास के रूप में रखें; फ़ाइल डेमो के लिए java Reader चलाएँ।
wrappers, arrays और catch इतिहास रह जाते हैं। आज के नए टोकन File, फ़ाइल पर Scanner, डिस्क से nextLine, और FileNotFoundException हैं।
लिखने के लिए यह पृष्ठ क्या छोड़ता है
यह पृष्ठ केवल मौजूदा फ़ाइल पढ़ता है, या नाम गायब हो तो रुकता है। अगला पृष्ठ Java से फ़ाइल में अक्षर लिखना दिखाता है। यहाँ oak पढ़ना और FileNotFoundException नाम रखें। Reader डेमो में अभी लिखने की अनिवार्य कॉल न जोड़ें।
फ़ाइलें लिखने से पहले
आप Scanner से note.txt पढ़कर oak देख सकते हैं। missing.txt खोलकर FileNotFoundException देख सकते हैं। Reader.java संकलित करें और हर रखे डेमो के लिए java Reader चलाएँ। क्लास के बगल में note.txt हाथ से बनाएँ। अगला पृष्ठ लेखन है।
सफल पढ़ना शांत स्क्रीन के लिए रखें, गायब डेमो रुकावट देखने के लिए, Java लिखना इस पृष्ठ से दूर। जब note.txt के साथ java Reader के बाद oak दिखे, पढ़ना इस पाठ का काम पूरा कर चुका है और आप लिखने के अगले विषय के लिए तैयार हैं।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी