C# में फ़ाइल हैंडलिंग: I/O Opera[उदाहरण]

⚡ स्मार्ट सारांश

C# में फ़ाइल संचालन आपको System.IO नेमस्पेस का उपयोग करके फ़ाइलों को पढ़ने, लिखने, कॉपी करने और हटाने की सुविधा देता है। यहाँ आप स्पष्ट कोड उदाहरणों के साथ File.Exists, File.ReadAllLines, File.ReadAllText, File.Copy और File.Delete का उपयोग करना सीखेंगे।

  • 📂 यह क्या है: C# में System.IO नेमस्पेस के माध्यम से फ़ाइलों को पढ़ने, लिखने, कॉपी करने और हटाने जैसे कार्य किए जाते हैं।
  • फ़ाइल मौजूद: File.Exists(path) किसी फ़ाइल को पढ़ने या हटाने से पहले उसकी मौजूदगी की जाँच करता है।
  • 📖 पढ़ना: File.ReadAllLines एक स्ट्रिंग ऐरे लौटाता है, जबकि File.ReadAllText पूरी फ़ाइल को एक स्ट्रिंग के रूप में लौटाता है।
  • ???? कॉपी करें और डिलीट करें: File.Copy एक फ़ाइल को नए पथ पर डुप्लिकेट करता है और File.Delete उसे हटा देता है।
  • 🤖 एआई सहायता: GitHub Copilot जैसे AI टूल तुरंत C# फाइल-हैंडलिंग कोड जनरेट करते हैं।

C# फ़ाइल Operaमाहौल

C# में फ़ाइल संचालन की एक विस्तृत श्रृंखला है। इन संचालनों में फ़ाइल खोलना, फ़ाइल को पढ़ना या लिखना शामिल है। ऐसे उदाहरण हो सकते हैं जहाँ आप सीधे फ़ाइलों के साथ काम करना चाहते हैं, ऐसे में आप C# में उपलब्ध फ़ाइल संचालन का उपयोग करेंगे। कुछ बुनियादी फ़ाइल संचालन नीचे दिए गए हैं।

  1. रीडिंग - यह ऑपरेशन मूल रीड ऑपरेशन है जिसमें फ़ाइल से डेटा पढ़ा जाता है।
  2. लेखन - यह ऑपरेशन मूल लेखन ऑपरेशन है जिसमें डेटा को फ़ाइल में लिखा जाता है। डिफ़ॉल्ट रूप से, फ़ाइल से सभी मौजूदा सामग्री हटा दी जाती है, और नई सामग्री लिखी जाती है।
  3. जोड़ना - इस ऑपरेशन में भी फ़ाइल में जानकारी लिखना शामिल है। एकमात्र अंतर यह है कि फ़ाइल में मौजूदा डेटा को अधिलेखित नहीं किया जाता है। लिखा जाने वाला नया डेटा फ़ाइल के अंत में जोड़ा जाता है।

मूल बातें I/O कमांड

C# और .Net कई फ़ाइल I/O कमांड की मदद से फ़ाइलों के साथ काम कर सकते हैं। आइए इनमें से कुछ कमांड पर नज़र डालें। हमारे उदाहरण के लिए, हम मान लेंगे कि हमारे पास D ड्राइव में Example.txt नाम की एक फ़ाइल है।
फ़ाइल एक साधारण टेक्स्ट फ़ाइल होगी और इसमें 2 लाइनें होंगी जैसा कि नीचे दिखाया गया है

  • Guru99 – .नेट
  • Guru99 -सी#

हमारे उदाहरण के लिए, हम एक सरल कंसोल एप्लिकेशन बनाएंगे और अपने फ़ाइल I/O कमांड के साथ काम करेंगे। कंसोल एप्लिकेशन मूल एप्लिकेशन है जिसे पिछले ट्यूटोरियल में बनाया गया था। कंसोल एप्लिकेशन में, सभी कोड program.cs फ़ाइल में लिखे जाते हैं।

फ़ाइल मौजूद

File exists विधि का उपयोग यह जाँचने के लिए किया जाता है कि कोई विशेष फ़ाइल मौजूद है या नहीं। तो चलिए अब वह कोड देखते हैं जिसका उपयोग यह जाँचने के लिए किया जा सकता है कि हमारी Example.txt फ़ाइल मौजूद है या नहीं। नीचे दिए गए कोड को program.cs फ़ाइल में दर्ज करें।

फ़ाइल मौजूद

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  static void Main(string[] args)
  {
   String path = @"D:\Example.txt";
   
   if (File.Exists(path))
   {
    Console.WriteLine("File Exists");
   }
   Console.ReadKey();
  }
 }
}

Code स्पष्टीकरण: -

  1. सबसे पहले, हम अपनी Example.txt फ़ाइल के पथ के साथ एक स्ट्रिंग वेरिएबल सेट कर रहे हैं।
  2. इसके बाद, हम File.Exists विधि का उपयोग करके जाँचते हैं कि फ़ाइल मौजूद है या नहीं। यदि फ़ाइल मौजूद है, तो एक सत्य मान लौटाया जाएगा।
  3. यदि हमें सत्य मान प्राप्त होता है और फ़ाइल मौजूद है, तो हम कंसोल पर "फ़ाइल मौजूद है" संदेश लिखते हैं।

जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को विजुअल स्टूडियो का उपयोग करके निष्पादित किया जाता है, तो आपको नीचे दिया गया आउटपुट मिलेगा।

आउटपुट: -

फ़ाइल मौजूद

उपरोक्त आउटपुट से, आप देख सकते हैं कि File.Exists कमांड सफलतापूर्वक निष्पादित किया गया था, और कंसोल विंडो में सही संदेश प्रदर्शित किया गया था।

फ़ाइल.ReadAlllines

इस विधि का उपयोग किसी फ़ाइल में सभी पंक्तियों को एक-एक करके पढ़ने के लिए किया जाता है। फिर पंक्तियों को एक स्ट्रिंग ऐरे वैरिएबल में संग्रहीत किया जाता है। आइए एक उदाहरण देखें। नीचे दिए गए कोड को program.cs फ़ाइल में दर्ज करें।

फ़ाइल.ReadAlllines

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  static void Main(string[] args)
  {
   String path = @"D:\Example.txt";

   String[] lines;
   lines = File.ReadAllLines(path);

   Console.WriteLine(lines[0]);
   Console.WriteLine(lines[1]);

   Console.ReadKey();
  }
 }
}

Code स्पष्टीकरण: -

  1. सबसे पहले, हम एक स्ट्रिंग ऐरे वैरिएबल घोषित कर रहे हैं। इसका उपयोग परिणाम को संग्रहीत करने के लिए किया जाएगा जो File.ReadAllLines विधि द्वारा लौटाया जाएगा।
  2. इसके बाद, हम अपनी टेक्स्ट फ़ाइल से सभी लाइनों को पढ़ने के लिए File.ReadAllLines विधि का उपयोग करते हैं। फिर परिणाम को lines वेरिएबल में पास किया जाता है।
  3. चूँकि हम जानते हैं कि हमारी फ़ाइल में केवल 2 पंक्तियाँ हैं, हम lines[0] और lines[1] कमांड के माध्यम से ऐरे वेरिएबल्स के मान तक पहुँच सकते हैं।

जब उपरोक्त कोड सेट किया जाता है, और प्रोजेक्ट का उपयोग करके चलाया जाता है विजुअल स्टूडियो, आपको नीचे दिया गया आउटपुट मिलेगा।

आउटपुट: -

फ़ाइल.ReadAlllines

आउटपुट से, आप देख सकते हैं कि File.ReadAllLines कमांड ने हमारी फ़ाइल Example.txt से दोनों लाइनें लौटा दी हैं

फ़ाइल.ReadAllText

इस विधि का उपयोग किसी फ़ाइल में सभी पंक्तियों को एक साथ पढ़ने के लिए किया जाता है। फिर पंक्तियों को एक स्ट्रिंग वेरिएबल में संग्रहीत किया जाता है। आइए एक उदाहरण देखें। नीचे दिए गए कोड को program.cs फ़ाइल में दर्ज करें।

फ़ाइल.ReadAllText

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
    String path = @"D:\Example.txt";

    String lines;
    lines = File.ReadAllText(path);
    Console.WriteLine(lines);
 
    Console.ReadKey();
   }
  }
}

Code स्पष्टीकरण: -

  1. सबसे पहले, हम Lines नामक एक स्ट्रिंग वैरिएबल घोषित कर रहे हैं। इसका उपयोग File.ReadAllText विधि द्वारा लौटाए जाने वाले परिणाम को संग्रहीत करने के लिए किया जाएगा।
  2. इसके बाद, हम अपनी टेक्स्ट फ़ाइल से सभी लाइनों को पढ़ने के लिए File.ReadAllText विधि का उपयोग करते हैं। फिर परिणाम को lines वेरिएबल में पास किया जाता है।
  3. हम Lines वेरिएबल का मान प्रदर्शित करने के लिए सीधे Console.Writeline विधि का उपयोग कर सकते हैं।

जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को विजुअल स्टूडियो का उपयोग करके चलाया जाता है, तो आपको नीचे दिया गया आउटपुट मिलेगा।

आउटपुट: -

फ़ाइल.ReadAllText

आउटपुट से, आप देख सकते हैं कि File.ReadAlltext कमांड ने हमारी फ़ाइल Example.txt से दोनों लाइनें लौटा दी हैं

फ़ाइल.कॉपी

इस विधि का उपयोग किसी मौजूदा फ़ाइल की प्रतिलिपि बनाने के लिए किया जाता है। आइए एक उदाहरण देखें। नीचे दिए गए कोड को program.cs फ़ाइल में दर्ज करें।

फ़ाइल.कॉपी

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
   String path = @"D:\Example.txt";

   String copypath = @"D:\ExampleNew.txt";

   File.Copy(path,copypath);

   Console.ReadKey();
   }
  }
}

Code स्पष्टीकरण: -

  1. सबसे पहले, हम path नामक एक स्ट्रिंग वैरिएबल घोषित कर रहे हैं। यह हमारी Example.txt फ़ाइल का स्थान होगा। यह फ़ाइल कॉपी ऑपरेशन के लिए उपयोग की जाने वाली स्रोत फ़ाइल होगी।
  2. इसके बाद, हम कॉपीपाथ नामक एक स्ट्रिंग वैरिएबल घोषित कर रहे हैं। यह ExampleNew.txt नामक एक नई फ़ाइल का स्थान होगा। यह गंतव्य फ़ाइल होगी जिसमें स्रोत फ़ाइल Example.txt से सामग्री लिखी जाएगी।
  3. फिर हम फ़ाइल Example.txt को फ़ाइल ExampleNew.txt में कॉपी करने के लिए File.Copy विधि को कॉल करते हैं।

जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को विजुअल स्टूडियो का उपयोग करके चलाया जाता है, तो Example.txt फ़ाइल ExampleNew.txt में कॉपी हो जाएगी।

फ़ाइल.हटाएँ

इस विधि का उपयोग किसी मौजूदा फ़ाइल को हटाने के लिए किया जाता है। आइए एक उदाहरण देखें। नीचे दिए गए कोड को program.cs फ़ाइल में दर्ज करें।

फ़ाइल.हटाएँ

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
   String path = @"D:\Example.txt";

   File.Delete(path);

   Console.ReadKey();
   }
  }
}

Code स्पष्टीकरण: -

  1. सबसे पहले, हम path नामक एक स्ट्रिंग वैरिएबल घोषित कर रहे हैं। यह हमारी Example.txt फ़ाइल का स्थान होगा। यह वह फ़ाइल है जिसे हटा दिया जाएगा।
  2. इसके बाद, हम फ़ाइल को हटाने के लिए File.Delete विधि को कॉल कर रहे हैं।

जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को विजुअल स्टूडियो का उपयोग करके चलाया जाता है, तो Example.txt फ़ाइल D ड्राइव से हटा दी जाएगी।

C# फ़ाइल विधियों का संदर्भ

नीचे दी गई तालिका में मुख्य C# फ़ाइल विधियों और प्रत्येक विधि के कार्यों का सारांश दिया गया है।

फ़ाइल विधि विवरण
फ़ाइल मौजूद फ़ाइल मौजूद है विधि का उपयोग यह जांचने के लिए किया जाता है कि कोई विशेष फ़ाइल मौजूद है या नहीं।
फ़ाइल.ReadAlllines इस विधि का उपयोग किसी फ़ाइल में सभी पंक्तियों को एक-एक करके पढ़ने के लिए किया जाता है।
फ़ाइल.ReadAllText इस विधि का उपयोग किसी फ़ाइल की सभी पंक्तियों को एक साथ पढ़ने के लिए किया जाता है।
फ़ाइल.कॉपी इस विधि का उपयोग किसी मौजूदा फ़ाइल की प्रतिलिपि बनाने के लिए किया जाता है।
फ़ाइल.हटाएँ इस विधि का उपयोग किसी मौजूदा फ़ाइल को हटाने के लिए किया जाता है।

अक्सर पूछे जाने वाले प्रश्न

C# में फ़ाइल संचालन आपको फ़ाइलों को पढ़ने, लिखने, कॉपी करने, जोड़ने और हटाने की सुविधा देता है। इनमें से अधिकांश विधियाँ System.IO.File वर्ग से संबंधित हैं, जैसे File.Exists, File.ReadAllText, File.Copy और File.Delete।

फ़ाइल मौजूद होने पर true और अन्यथा false लौटाने वाले फ़ंक्शन File.Exists(path) का उपयोग करें। रनटाइम अपवादों से बचने के लिए फ़ाइल को पढ़ने या हटाने से पहले इसकी जाँच करें।

File.ReadAllLines प्रत्येक पंक्ति को एक स्ट्रिंग ऐरे के तत्व के रूप में लौटाता है, जबकि File.ReadAllText पूरी फ़ाइल सामग्री को एक एकल स्ट्रिंग के रूप में लौटाता है।

File.Copy(sourcePath, destinationPath) को कॉल करें। यह स्रोत फ़ाइल की सामग्री वाली एक नई फ़ाइल गंतव्य पर बनाता है।

File.Delete(path) को कॉल करें। यह फ़ाइल को स्थायी रूप से हटा देता है, इसलिए FileNotFoundException से बचने के लिए पहले File.Exists का उपयोग करके फ़ाइल के अस्तित्व की पुष्टि कर लें।

GitHub Copilot जैसे AI सहायक File.ReadAllText, File.Copy और File.Delete कॉल को स्वतः पूर्ण करते हैं और कार्य का वर्णन करने वाली एक छोटी टिप्पणी से ट्राई-कैच फ़ाइल-हैंडलिंग कोड उत्पन्न करते हैं।

जी हां। एआई-संचालित उपकरण रीडर और राइटर विधियां उत्पन्न करते हैं, स्ट्रीमरीडर या फाइल विधियों का सुझाव देते हैं, और अपवादों को संभालने की सुविधा जोड़ते हैं ताकि आपका कोड अधिक सुरक्षित हो।

अपने प्रोग्राम के शीर्ष पर using System.IO; जोड़ें। System.IO नेमस्पेस में File, StreamReader और Stream शामिल हैं।Writer फ़ाइल प्रबंधन के लिए उपयोग की जाने वाली क्लासें।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: