C# में फ़ाइल हैंडलिंग: I/O 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# में कई फ़ाइल ऑपरेशन हैं जो फ़ाइलों पर किए जा सकते हैं। इनमें से ज़्यादातर ऑपरेशन क्लास File का हिस्सा हैं।
  • यदि आप किसी फ़ाइल से डेटा पढ़ना चाहते हैं, तो आप File.ReadAlltext या File.ReadAllLines विधियों का उपयोग कर सकते हैं।
फ़ाइल विधि विवरण
फ़ाइल मौजूद फ़ाइल मौजूद है विधि का उपयोग यह जांचने के लिए किया जाता है कि कोई विशेष फ़ाइल मौजूद है या नहीं।
फ़ाइल.ReadAlllines इस विधि का उपयोग किसी फ़ाइल में सभी पंक्तियों को एक-एक करके पढ़ने के लिए किया जाता है।
फ़ाइल.ReadAllText इस विधि का उपयोग किसी फ़ाइल की सभी पंक्तियों को एक साथ पढ़ने के लिए किया जाता है।
फ़ाइल.कॉपी इस विधि का उपयोग किसी मौजूदा फ़ाइल की प्रतिलिपि बनाने के लिए किया जाता है।
फ़ाइल.हटाएँ इस विधि का उपयोग किसी मौजूदा फ़ाइल को हटाने के लिए किया जाता है।

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