परिचय: C# में फ़ाइल सिस्टम के साथ कार्य की आवश्यकता क्यों है
\nकोई भी गंभीर एप्लिकेशन देर-सबेर डेटा सहेजने की आवश्यकता का सामना करता है। चाहे वह कॉन्फ़िगरेशन फ़ाइलें हों, लॉग, उपयोगकर्ता दस्तावेज़ या अस्थायी डेटा — फ़ाइल सिस्टम के साथ कार्य करना C# डेवलपर के लिए एक मौलिक कौशल है। इस लेख में हम व्यावहारिक उदाहरणों के साथ समझेंगे कि .NET का उपयोग करके फ़ाइलों और फ़ोल्डरों को कैसे बनाया, पढ़ा, लिखा और प्रबंधित किया जाए। आप न केवल बुनियादी संचालन सीखेंगे, बल्कि अपवाद प्रबंधन और स्ट्रीम के साथ कार्य करने की सर्वोत्तम प्रथाओं के बारे में भी जानेंगे।
\n\nफ़ाइल सिस्टम के साथ कार्य के लिए मुख्य क्लासेस
\n.NET में फ़ाइल सिस्टम के साथ इंटरैक्शन के लिए नेमस्पेस System.IO और System.IO.Enumeration का उपयोग किया जाता है। आपको जिन मुख्य क्लासेस की आवश्यकता होगी:
- \n
File— फ़ाइलों को बनाने, कॉपी करने, हटाने और स्थानांतरित करने के लिए स्टैटिक मेथड्स। \n FileInfo— किसी विशिष्ट फ़ाइल के साथ कार्य करने के लिए इंस्टेंस क्लास (समान संचालन का समर्थन करता है लेकिन ऑब्जेक्ट बनाने की आवश्यकता होती है)। \n Directory— निर्देशिकाओं के साथ कार्य करने के लिए स्टैटिक मेथड्स। \n DirectoryInfo— निर्देशिकाओं के साथ कार्य करने के लिए इंस्टेंस क्लास। \n Path— पथों के साथ कार्य करने के लिए उपयोगिता क्लास (जोड़ना, एक्सटेंशन प्राप्त करना, नाम आदि)। \n FileStream— बाइट्स को पढ़ने/लिखने के लिए निम्न-स्तरीय स्ट्रीम। \n StreamReader/StreamWriter— टेक्स्ट के साथ कार्य करने के लिए उच्च-स्तरीय रैपर। \n
स्टैटिक मेथड्स और इंस्टेंस क्लासेस के बीच चुनाव परिदृश्य पर निर्भर करता है। यदि आपको एक ही ऑपरेशन करने की आवश्यकता है — File या Directory का उपयोग करें। यदि एक ही ऑब्जेक्ट पर कई ऑपरेशन करने की योजना है — FileInfo या DirectoryInfo बनाएं।
फ़ाइलों का निर्माण, पढ़ना और लिखना
\n\n1. टेक्स्ट फ़ाइल का निर्माण और लिखना
\nफ़ाइल में टेक्स्ट लिखने का सबसे सरल तरीका File.WriteAllText मेथड का उपयोग करना है। यह फ़ाइल बनाता है (या मौजूदा को ओवरराइट करता है) और स्ट्रीम को स्वचालित रूप से बंद कर देता है।
using System.IO;\n\nstring path = @"C:\\temp\\example.txt";\nstring content = "नमस्ते, दुनिया! यह एक परीक्षण फ़ाइल है।";\n\nFile.WriteAllText(path, content);\nConsole.WriteLine("फ़ाइल बनाई और लिखी गई।");\nयदि फ़ाइल के अंत में डेटा जोड़ने की आवश्यकता है, तो File.AppendAllText का उपयोग करें:
File.AppendAllText(path, "\\nजोड़ी गई पंक्ति।");\n\n2. फ़ाइल पढ़ना
\nपूरा टेक्स्ट पढ़ने के लिए File.ReadAllText का उपयोग करें:
string readContent = File.ReadAllText(path);\nConsole.WriteLine(readContent);\nयदि फ़ाइल बड़ी है, तो File.ReadLines के माध्यम से पंक्ति दर पंक्ति पढ़ना बेहतर है (यह IEnumerable<string> लौटाता है):
foreach (string line in File.ReadLines(path))\n{\n Console.WriteLine(line);\n}\n\n3. बाइनरी फ़ाइलों के साथ कार्य
\nबाइनरी डेटा (चित्र, आर्काइव) के लिए FileStream या BinaryReader/BinaryWriter का उपयोग करें। बाइट्स की एक सरणी लिखने का उदाहरण:
byte[] data = { 0x48, 0x65, 0x6C, 0x6C, 0x6F }; // "Hello"\nFile.WriteAllBytes(@"C:\\temp\\binary.dat", data);\n\nbyte[] readData = File.ReadAllBytes(@"C:\\temp\\binary.dat");\nConsole.WriteLine(BitConverter.ToString(readData)); // 48-65-6C-6C-6F\n\nफ़ोल्डरों के साथ कार्य और फ़ाइल प्रबंधन
\n\n1. फ़ोल्डर बनाना और हटाना
\nDirectory.CreateDirectory का उपयोग करके फ़ोल्डर बनाया जा सकता है। यह मेथड पथ में सभी लापता फ़ोल्डर बनाता है:
string dirPath = @"C:\\temp\\MyApp\\Logs";\nDirectory.CreateDirectory(dirPath);\nConsole.WriteLine("फ़ोल्डर बनाया गया।");\nफ़ोल्डर हटाना (सभी सामग्री सहित पुनरावर्ती):
\nif (Directory.Exists(dirPath))\n{\n Directory.Delete(dirPat