फ़ाइल कैसे बनाएं और उसमें Java में लिखें: उदाहरणों के साथ पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Java में फ़ाइल बनाना और उसमें लिखना: एक बार और हमेशा के लिए समझें

\n\n

प्रश्न "How do I create a file and write to it?" — Stack Overflow पर सबसे लोकप्रिय प्रश्नों में से एक है। और यह आश्चर्य की बात नहीं है: फ़ाइलों के साथ काम करना एक बुनियादी बात है जिसे हर Java डेवलपर सीखता है। लेकिन हमेशा की तरह, शैतान विवरण में छिपा होता है। कौन सा क्लास चुनें? डेटा कैसे न खोएं? अपवादों को कैसे संभालें? इस लेख में हम केवल तैयार उत्तर नहीं देंगे, बल्कि सभी लोकप्रिय तरीकों, उनके फायदे और नुकसान का विश्लेषण करेंगे, ताकि आप Java में फ़ाइलों के साथ आत्मविश्वास से काम कर सकें।

\n\n

हम Java में फ़ाइल बनाने और उसमें लिखने पर विचार करेंगे, क्लासिक FileWriter और BufferedWriter से लेकर आधुनिक Files.writeString() तक। चलिए शुरू करते हैं!

\n\n

1. क्लासिक तरीका: FileWriter

\n\n

फ़ाइल बनाने और उसमें टेक्स्ट लिखने का सबसे सरल और सहज तरीका java.io.FileWriter का उपयोग करना है। यह विशेष रूप से कैरेक्टर स्ट्रीम लिखने के लिए बनाया गया है।

\n\n

यह कैसे काम करता है?

\n

FileWriter का कंस्ट्रक्टर फ़ाइल का नाम (या File ऑब्जेक्ट) लेता है। यदि फ़ाइल मौजूद नहीं है, तो यह स्वचालित रूप से बनाई जाएगी। यदि फ़ाइल मौजूद है, तो इसे ओवरराइट किया जाएगा (जब तक कि append फ़्लैग निर्दिष्ट न किया गया हो)।

\n\n
import java.io.FileWriter;\nimport java.io.IOException;\n\npublic class FileWriterExample {\n    public static void main(String[] args) {\n        try (FileWriter writer = new FileWriter("example.txt")) {\n            writer.write("नमस्ते, दुनिया! यह पहली पंक्ति है।\\n");\n            writer.write("और यह दूसरी पंक्ति है।");\n            System.out.println("फ़ाइल सफलतापूर्वक बनाई और लिखी गई!");\n        } catch (IOException e) {\n            System.err.println("फ़ाइल के साथ काम करते समय त्रुटि: " + e.getMessage());\n        }\n    }\n}\n
\n\n

महत्वपूर्ण: हम try-with-resources (Java 7+) का उपयोग कर रहे हैं। यह सुनिश्चित करता है कि स्ट्रीम स्वचालित रूप से बंद हो जाएगी, भले ही कोई अपवाद हो। FileWriter को बंद करना भूल जाना शुरुआती लोगों की सबसे आम गलतियों में से एक है।

\n\n

FileWriter का उपयोग कब करें?

\n
    \n
  • छोटी टेक्स्ट फ़ाइलों को सरलता से लिखने के लिए।
  • \n
  • जब उच्च प्रदर्शन की आवश्यकता न हो।
  • \n
  • त्वरित प्रोटोटाइपिंग के लिए।
  • \n
\n\n

नुकसान

\n
    \n
  • बड़ी मात्रा में डेटा लिखने के लिए अकुशल (प्रत्येक write() कॉल सिस्टम कॉल का कारण बन सकती है)।
  • \n
  • एन्कोडिंग निर्दिष्ट करने का समर्थन नहीं करता (डिफ़ॉल्ट एन्कोडिंग का उपयोग करता है, जो विभिन्न प्लेटफार्मों पर समस्या पैदा कर सकता है)।
  • \n
\n\n

2. प्रदर्शन और विश्वसनीयता: BufferedWriter

\n\n

यदि आपको बहुत सारा डेटा लिखना है, तो BufferedWriter का उपयोग करें। यह FileWriter को रैप करता है और बफरिंग जोड़ता है। डेटा पहले बफर में जमा होता है, फिर एक बड़े ब्लॉक में फ़ाइल में लिखा जाता है। यह ऑपरेशन को काफी तेज करता है।

\n\n
import java.io.BufferedWriter;\nimport java.io.FileWriter;\nimport java.io.IOException;\n\npublic class BufferedWriterExample {\n    public static void main(String[] args) {\n        String[] lines = {"पंक्ति 1", "पंक्ति 2", "पंक्ति 3"};\n\n        try (BufferedWriter writer = new BufferedWriter(new FileWriter("buffered_example.txt"))) {\n            for (String line : lines) {\n                writer.write(line);\n                writer.newLine(); // OS के अनुसार नई पंक्ति जोड़ता है\n            }\n            System.out.println("BufferedWriter के माध्यम से फ़ाइल लिखी गई।");\n        } catch (IOException e) {\n            System.err.println("त्रुटि: " + e.getMessage());\n        }\n    }\n}\n
\n\n

newLine() विधि पर ध्यान दें। \\n के विपरीत, यह सिस्टम लाइन सेपरेटर का उपयोग करता है, जो आपके कोड को क्रॉस-प्लेटफ़ॉर्म बनाता है।

\n\n

BufferedWriter का उपयोग कब करें?

\n
    \n
  • बड़ी टेक्स्ट फ़ाइलों को लिखने के लिए।
  • \n
  • जब प्रदर्शन महत्वपूर्ण हो
  • \n

ब्लॉग

पुस्तक अनुशंसाएँ