C # स्ट्रीम ट्यूटोरियल: StreamReader, StreamWriter उदाहरण के साथ

विषय - सूची:

Anonim

सी # फ़ाइल संचालन में, आम तौर पर फ़ाइलों को पढ़ने और लिखने के लिए धाराओं का उपयोग किया जाता है। एक स्ट्रीम एक अतिरिक्त परत है जो किसी एप्लिकेशन और फ़ाइल के बीच बनाई जाती है। स्ट्रीम का उपयोग फ़ाइल को सुचारू रूप से पढ़ने और लिखने के लिए किया जाता है।

आम तौर पर बड़ी फ़ाइलों से डेटा पढ़ते समय धाराओं का उपयोग किया जाता है। धाराओं का उपयोग करके, बड़ी फ़ाइलों से डेटा को छोटे टुकड़ों में तोड़ दिया जाता है और धारा में भेज दिया जाता है। डेटा के ये हिस्सा फिर आवेदन से पढ़े जा सकते हैं।

एक शॉट में एक बड़ी फ़ाइल को पढ़ने के प्रदर्शन प्रभाव के कारण इसे छोटे टुकड़ों में तोड़ने का कारण है। यदि आप कहते हैं कि डेटा को पढ़ने के लिए, एक शॉट में एक 100 एमबी फ़ाइल, आपका आवेदन बस लटका और अस्थिर हो सकता है। तब सबसे अच्छा तरीका यह है कि फाइल को प्रबंधनीय विखंडू में नीचे लाने के लिए धाराओं का उपयोग किया जाए।

इसलिए जब फ़ाइल पर एक लिखित ऑपरेशन किया जाता है, तो लिखे जाने वाले डेटा को पहले स्ट्रीम में लिखा जाता है। स्ट्रीम से, डेटा फिर फ़ाइल में लिखा जाता है। वही रीड ऑपरेशन के लिए जाता है। रीड ऑपरेशन में, डेटा को पहले फ़ाइल से स्ट्रीम में स्थानांतरित किया जाता है। डेटा को स्ट्रीम के माध्यम से एप्लिकेशन से पढ़ा जाता है। आइए एक उदाहरण देखें कि हम धाराओं का उपयोग करके कैसे पढ़ और लिख सकते हैं।

इस ट्यूटोरियल में, आप सीखेंगे-

  • स्ट्रीम रीडर
  • स्ट्रीम लेखक

स्ट्रीम रीडर

स्ट्रीम रीडर का उपयोग स्ट्रीम के उपयोग से फ़ाइल से डेटा पढ़ने के लिए किया जाता है। फ़ाइल से डेटा पहली बार स्ट्रीम में पढ़ा जाता है। इसके बाद एप्लिकेशन स्ट्रीम से डेटा पढ़ता है।

हमारे उदाहरण के लिए, हम मान लेंगे कि हमारे पास D ड्राइव में एक फ़ाइल है, जिसे Example.txt कहा जाता है। फ़ाइल एक साधारण पाठ फ़ाइल होगी और इसमें 2 लाइनें होंगी जैसा कि नीचे दिखाया गया है

  • गुरु 99 - .नेट
  • गुरु 99-सी #

हमारे उदाहरण के लिए, हम एक सरल कंसोल एप्लिकेशन बनाएंगे और फ़ाइल स्ट्रीम के साथ काम करेंगे

आइए एक उदाहरण देखें कि हम किसी फ़ाइल से डेटा पढ़ने के लिए धाराओं का उपयोग कैसे कर सकते हैं। नीचे दिए गए कोड को 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";using (StreamReader sr = File.OpenText(path)){String s = "";while ((s = sr.ReadLine()) != null){Console.WriteLine(s);}}Console.ReadKey();}}}

कोड स्पष्टीकरण: -

  1. सबसे पहले, हम एक स्ट्रीम रीडर ऑब्जेक्ट घोषित कर रहे हैं। धारा रीडर ऑब्जेक्ट का उपयोग C # में फ़ाइल से एप्लिकेशन में स्ट्रीम को परिभाषित करने के लिए किया जाता है। जब भी डेटा फ़ाइल से पढ़ा जाएगा तो डेटा फ़ाइल से स्ट्रीम में धकेल दिया जाएगा। File.OpenText का उपयोग रीड-ओनली मोड में फ़ाइल "Example.txt" को खोलने के लिए किया जाता है। फ़ाइल को हैंडलर तब स्ट्रीम रीडर ऑब्जेक्ट पर भेजा जाता है।
  2. अगला, हम एक अस्थायी चर 's' को परिभाषित कर रहे हैं, जिसका उपयोग फ़ाइल के सभी डेटा को पढ़ने के लिए किया जाएगा।
  3. तब हम स्ट्रीम बफर से प्रत्येक लाइन को पढ़ने के लिए स्ट्रीम रीडर विधि ReadLine का उपयोग करते हैं। जब हम यह ऑपरेशन करते हैं, तो प्रत्येक पंक्ति को पहले फ़ाइल से बफर में स्थानांतरित किया जाएगा। फिर स्ट्रिंग लाइन को बफर से चर 's' में स्थानांतरित किया जाएगा। फिर हम कंसोल के लिए स्ट्रिंग की सामग्री लिखते हैं।

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

आउटपुट: -

आउटपुट से, आप देख सकते हैं कि स्ट्रीम रीडर फाइल से दोनों लाइनों को पढ़ता है। अंत में, स्ट्रीम से पढ़ी जाने वाली स्ट्रिंग की लाइनों को कंसोल में भेजा गया।

स्ट्रीम लेखक

स्ट्रीम राइटर का इस्तेमाल स्ट्रीम के लिए फाइल को डेटा लिखने के लिए किया जाता है। एप्लिकेशन से डेटा पहले स्ट्रीम में लिखा जाता है। उसके बाद स्ट्रीम फाइल में डेटा लिखता है। आइए एक उदाहरण देखें कि हम किसी फ़ाइल से डेटा लिखने के लिए धाराओं का उपयोग कैसे कर सकते हैं। नीचे दिए गए कोड को 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";using (StreamWriter sr = File.AppendText(path)){sr.WriteLine("Guru99 - ASP.Net");sr.Close();Console.WriteLine(File.ReadAllText(path));}Console.ReadKey();}}}

कोड स्पष्टीकरण: -

  1. सबसे पहले, हम एक स्ट्रीम लेखक ऑब्जेक्ट घोषित कर रहे हैं। धारा लेखक वस्तु का उपयोग धारा # में धारा को परिभाषित करने के लिए किया जाता है। तब स्ट्रीम का उपयोग एप्लिकेशन से फ़ाइल में डेटा लिखने के लिए किया जाता है। जब भी डेटा लिखना होगा तो डेटा को एप्लिकेशन से स्ट्रीम में धकेल दिया जाएगा। File.AppendText कमांड का उपयोग एपेंड मोड में फाइल "Example.txt" को खोलने के लिए किया जाता है। फ़ाइल को हैंडलर तब स्ट्रीम लेखक ऑब्जेक्ट पर भेजा जाता है।
  2. हम स्ट्रीम "गुरु99 - ASP.Net" स्ट्रीम को लिखने के लिए स्ट्रीम राइट विधि Writeline का उपयोग कर रहे हैं। स्ट्रीम से, लाइन फिर फ़ाइल में लिखी जाएगी।
  3. हम फ़ाइल पर लिखने के बाद स्ट्रीम लेखक को बंद कर देते हैं। फ़ाइल संलेखन के लिए सामान्य रूप से फ़ाइल संचालकों को बंद करने की आवश्यकता नहीं होती है।
  4. अंत में, हम फ़ाइल की सामग्री को फिर से पढ़ रहे हैं और इसे कंसोल लॉग में लिख रहे हैं। यह जाँच करना है कि क्या फ़ाइल में लाइन लिखी गई थी।

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

आउटपुट: -

आउटपुट से, आप देख सकते हैं कि लाइन "गुरु99 - ASP.Net" को फ़ाइल में सफलतापूर्वक जोड़ा गया था। पाठ की सभी 3 पंक्तियों को कंसोल में देखा जा सकता है।

सारांश

  • धाराएं अनुप्रयोग और फ़ाइल के बीच एक मध्यवर्ती स्तर के रूप में उपयोग की जाती हैं।
  • जब भी डेटा को किसी फ़ाइल से पढ़ने की आवश्यकता होती है, तो एक StreamReader का उपयोग किया जाता है।
  • जब भी डेटा को फ़ाइल में लिखने की आवश्यकता होती है, तो एक स्ट्रीम राइटर का उपयोग किया जाता है।