जावा में फ़ाइल सिस्टम के साथ कार्य: व्यवहार में
\n\nजावा में आधुनिक विकास में, फ़ाइल सिस्टम के साथ कार्य करना मूलभूत कार्यों में से एक है। चाहे वह कॉन्फ़िगरेशन सहेजना हो, लॉग प्रोसेस करना हो या उपयोगकर्ता डेटा लोड करना हो, फ़ाइलों और निर्देशिकाओं के साथ सही ढंग से इंटरैक्ट करने की क्षमता प्रत्येक डेवलपर के लिए आवश्यक है। इस लेख में, हम क्लासिकल दृष्टिकोण (क्लास File) और आधुनिक API NIO.2 (Path, Files) दोनों का उपयोग करते हुए, जावा में फ़ाइल सिस्टम के साथ कार्य करने के व्यावहारिक पहलुओं पर चर्चा करेंगे।
सामग्री व्यवसायियों के लिए तैयार की गई है: आपको तैयार कोड उदाहरण मिलेंगे जिन्हें आप तुरंत अपने प्रोजेक्ट में उपयोग कर सकते हैं। हम फ़ाइलों का निर्माण, पढ़ना, लिखना, कॉपी करना और हटाना, साथ ही निर्देशिकाओं के साथ कार्य करना देखेंगे।
\n\nक्लासिकल दृष्टिकोण: क्लास File
\n\nJava 7 के आगमन से पहले, फ़ाइल सिस्टम के साथ कार्य करने का मुख्य उपकरण क्लास java.io.File था। हालाँकि इसे पुराना माना जाता है, फिर भी इसे लीगेसी प्रोजेक्ट्स में देखा जा सकता है। आइए मुख्य संचालन देखें।
फ़ाइल बनाना:
\nimport java.io.File;\nimport java.io.IOException;\n\npublic class FileExample {\n public static void main(String[] args) {\n File file = new File("example.txt");\n try {\n if (file.createNewFile()) {\n System.out.println("फ़ाइल बनाई गई: " + file.getName());\n } else {\n System.out.println("फ़ाइल पहले से मौजूद है।");\n }\n } catch (IOException e) {\n System.out.println("फ़ाइल बनाने में त्रुटि: " + e.getMessage());\n }\n }\n}\n\nफ़ाइल के अस्तित्व और गुणों की जाँच:
\nFile file = new File("example.txt");\nif (file.exists()) {\n System.out.println("फ़ाइल मौजूद है");\n System.out.println("पूर्ण पथ: " + file.getAbsolutePath());\n System.out.println("आकार: " + file.length() + " बाइट");\n System.out.println("पढ़ने योग्य: " + file.canRead());\n System.out.println("लिखने योग्य: " + file.canWrite());\n}\n\n- \n
exists()— जाँचता है कि फ़ाइल या निर्देशिका मौजूद है या नहीं। \n isFile()— क्या ऑब्जेक्ट एक फ़ाइल है। \n isDirectory()— क्या ऑब्जेक्ट एक निर्देशिका है। \n length()— फ़ाइल का आकार बाइट्स में लौटाता है। \n delete()— फ़ाइल या खाली निर्देशिका को हटाता है। \n
क्लास File की कमी — सिम्बोलिक लिंक, मेटाडेटा का समर्थन न होना और अपवादों के साथ सीमित कार्य। नए प्रोजेक्ट्स के लिए NIO.2 का उपयोग करने की अनुशंसा की जाती है।
आधुनिक दृष्टिकोण: NIO.2 (Path और Files)
\n\nJava 7 से शुरू करते हुए, JDK में पैकेज java.nio.file शामिल किया गया, जो अधिक लचीला और प्रदर्शनशील API प्रदान करता है। मुख्य क्लासेस: Path (फ़ाइल या निर्देशिका के पथ का प्रतिनिधित्व करता है) और Files (संचालन के लिए स्थैतिक विधियाँ शामिल करता है)।
Files का उपयोग करके फ़ाइल बनाना:
\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport java.nio.file.Paths;\nimport java.io.IOException;\n\npublic class NioExample {\n public static void main(String[] args) {\n Path path = Paths.get("nio_example.txt");\n try {\n Files.createFile(path);\n System.out.println("फ़ाइल बनाई गई: " + path.toAbsolutePath());\n } catch (IOException e) {\n System.out.println("त्रुटि: " + e.getMessage());\n }\n }\n}\n\nनिर्देशिकाएँ बनाना:
\nPath dirPath = Paths.get("myDir/subDir");\ntry {\n Files.createDirectories(dirPath); // सभी लापता पैरेंट निर्देशिकाएँ बनाता है\n System.out.println("निर्देशिका बनाई गई: " + dirPath);\n} catch (IOException e) {\n e.printStackTrace();\n}\n\nफ़ाइलें पढ़ना और लिखना:
\nपढ़ने का सबसे सरल तरीका