C# में स्ट्रीम: स्ट्रीमरीडर और स्ट्रीमWriter [उदाहरण]
⚡ स्मार्ट सारांश
AC# स्ट्रीम आपके एप्लिकेशन और फ़ाइल के बीच एक लेयर है जो आपको छोटे-छोटे टुकड़ों में डेटा पढ़ने या लिखने की सुविधा देती है। यहां आप StreamReader और Stream का उपयोग करना सीखेंगे।Writer उदाहरणों और मुख्य प्रकारों सहित कार्यविधि।

C# स्ट्रीम क्या है?
C# फ़ाइल संचालन में, आम तौर पर स्ट्रीम का उपयोग फ़ाइलों को पढ़ने और लिखने के लिए किया जाता है। स्ट्रीम एक अतिरिक्त परत है जो किसी एप्लिकेशन और फ़ाइल के बीच बनाई जाती है। स्ट्रीम का उपयोग फ़ाइल को सुचारू रूप से पढ़ने और लिखने के संचालन को सुनिश्चित करने के लिए किया जाता है।
स्ट्रीम का इस्तेमाल आम तौर पर बड़ी फ़ाइलों से डेटा पढ़ते समय किया जाता है। स्ट्रीम का इस्तेमाल करके, बड़ी फ़ाइलों से डेटा को छोटे-छोटे टुकड़ों में तोड़कर स्ट्रीम में भेजा जाता है। फिर डेटा के इन टुकड़ों को एप्लिकेशन से पढ़ा जा सकता है।
इसे छोटे-छोटे टुकड़ों में तोड़ने का कारण एक बार में बड़ी फ़ाइल को पढ़ने के प्रदर्शन पर पड़ने वाला प्रभाव है। अगर आप एक बार में 100 एमबी की फ़ाइल से डेटा पढ़ते हैं, तो आपका एप्लिकेशन हैंग हो सकता है और अस्थिर हो सकता है। सबसे अच्छा तरीका यह है कि फ़ाइल को प्रबंधनीय टुकड़ों में तोड़ने के लिए स्ट्रीम का उपयोग किया जाए।
इसलिए जब फ़ाइल पर कोई लेखन कार्य किया जाता है, तो लिखे जाने वाले डेटा को सबसे पहले स्ट्रीम में लिखा जाता है। स्ट्रीम से, डेटा को फिर फ़ाइल में लिखा जाता है। रीड ऑपरेशन के लिए भी यही बात लागू होती है। रीड ऑपरेशन में, डेटा को सबसे पहले फ़ाइल से स्ट्रीम में स्थानांतरित किया जाता है। फिर स्ट्रीम के ज़रिए एप्लिकेशन से डेटा को पढ़ा जाता है। आइए एक उदाहरण देखें कि हम स्ट्रीम का उपयोग करके कैसे पढ़ और लिख सकते हैं।
C# में स्ट्रीम के प्रकार
C# में सभी स्ट्रीम क्लास एब्सोल्यूट क्लास से व्युत्पन्न होती हैं।tract Stream कक्षा में System.IO नेमस्पेस। प्रत्येक प्रकार एक अलग डेटा स्रोत को लक्षित करता है लेकिन समान रीड और राइट विधियों को साझा करता है। सबसे अधिक उपयोग किए जाने वाले स्ट्रीम नीचे सूचीबद्ध हैं।
- फ़ाइल स्ट्रीम यह डिस्क पर मौजूद फाइलों से एक-एक बाइट या ब्लॉक करके डेटा पढ़ता और लिखता है।
- मेमोरीस्ट्रीम यह डेटा को फाइल के बजाय मेमोरी में स्टोर करता है, जो अस्थायी बफर के लिए उपयोगी है।
- Bufferएडस्ट्रीम यह धीमी डिस्क या नेटवर्क प्रक्रियाओं की संख्या को कम करने के लिए एक अन्य स्ट्रीम को रैप करता है।
- नेटवर्कस्ट्रीम नेटवर्क सॉकेट के माध्यम से डेटा भेजता और प्राप्त करता है।
टेक्स्ट के साथ काम करने के लिए, C# निम्नलिखित सुविधाएँ प्रदान करता है: StreamReader और StreamWriter सहायक क्लासें, जो एक स्ट्रीम को रैप करती हैं और अगले अनुभागों में इनके बारे में बताया गया है।
स्ट्रीम रीडर
स्ट्रीम रीडर का उपयोग स्ट्रीम का उपयोग करके फ़ाइल से डेटा पढ़ने के लिए किया जाता है। फ़ाइल से डेटा को पहले स्ट्रीम में पढ़ा जाता है। उसके बाद एप्लिकेशन स्ट्रीम से डेटा पढ़ता है।
हमारे उदाहरण के लिए, हम मान लेंगे कि हमारे पास D ड्राइव में Example.txt नामक एक फ़ाइल है। फ़ाइल एक साधारण टेक्स्ट फ़ाइल होगी और इसमें 2 लाइनें होंगी जैसा कि नीचे दिखाया गया है
- Guru99 – .नेट
- Guru99 -सी#
हमारे उदाहरण के लिए, हम एक सरल कंसोल एप्लिकेशन बनाएंगे और फ़ाइल स्ट्रीम के साथ काम करेंगे
आइए एक उदाहरण देखें कि हम फ़ाइल से डेटा पढ़ने के लिए स्ट्रीम का उपयोग कैसे कर सकते हैं। नीचे दिए गए कोड को 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(); } } }
Code स्पष्टीकरण: -
- सबसे पहले, हम स्ट्रीम रीडर ऑब्जेक्ट घोषित कर रहे हैं। स्ट्रीम रीडर ऑब्जेक्ट का उपयोग C# में फ़ाइल से एप्लिकेशन तक स्ट्रीम को परिभाषित करने के लिए किया जाता है। जब भी फ़ाइल से डेटा पढ़ा जाएगा, तो डेटा फ़ाइल से स्ट्रीम में धकेल दिया जाएगा। फ़ाइल।OpenText फ़ाइल “Example.txt” को केवल पढ़ने के लिए मोड में खोलने के लिए उपयोग किया जाता है। फ़ाइल के हैंडलर को फिर स्ट्रीम रीडर ऑब्जेक्ट पर भेजा जाता है।
- इसके बाद, हम एक अस्थायी चर 's' परिभाषित कर रहे हैं जिसका उपयोग फ़ाइल से सभी डेटा को पढ़ने के लिए किया जाएगा।
- फिर हम स्ट्रीम बफर से प्रत्येक लाइन को पढ़ने के लिए स्ट्रीम रीडर विधि ReadLine का उपयोग करते हैं। जब हम यह करते हैं आपरेशन, प्रत्येक पंक्ति को पहले फ़ाइल से बफर में स्थानांतरित किया जाएगा। फिर स्ट्रिंग लाइन को बफर से वेरिएबल 's' में स्थानांतरित किया जाएगा। फिर हम स्ट्रिंग 's' की सामग्री को कंसोल में लिखते हैं।
जब उपरोक्त कोड सेट किया जाता है, और प्रोजेक्ट का उपयोग करके चलाया जाता है विजुअल स्टूडियो, आपको नीचे दिया गया आउटपुट मिलेगा।
आउटपुट: -
आउटपुट से आप देख सकते हैं कि स्ट्रीम रीडर ने फ़ाइल से दोनों लाइनें पढ़ीं। अंत में, स्ट्रीम से पढ़ी गई स्ट्रिंग की लाइनें कंसोल को भेजी गईं।
धारा Writer
स्ट्रीम राइटर का उपयोग स्ट्रीम का उपयोग करके फ़ाइल में डेटा लिखने के लिए किया जाता है। एप्लिकेशन से डेटा सबसे पहले स्ट्रीम में लिखा जाता है। उसके बाद स्ट्रीम फ़ाइल में डेटा लिखता है। आइए एक उदाहरण देखें कि हम फ़ाइल से डेटा लिखने के लिए स्ट्रीम का उपयोग कैसे कर सकते हैं। नीचे दिए गए कोड को 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(); } } }
Code स्पष्टीकरण: -
- सबसे पहले, हम एक स्ट्रीम राइटर ऑब्जेक्ट घोषित कर रहे हैं। स्ट्रीम राइटर ऑब्जेक्ट का उपयोग C# में स्ट्रीम को परिभाषित करने के लिए किया जाता है। फिर स्ट्रीम का उपयोग एप्लिकेशन से फ़ाइल में डेटा लिखने के लिए किया जाता है। जब भी डेटा लिखने की आवश्यकता होगी, डेटा को एप्लिकेशन से स्ट्रीम में पुश किया जाएगा। File.AppendText कमांड का उपयोग फ़ाइल “Example.txt” को एपेंड मोड में खोलने के लिए किया जाता है। फिर फ़ाइल के हैंडलर को स्ट्रीम राइटर ऑब्जेक्ट पर भेजा जाता है।
- हम "Writeline" स्ट्रीम राइट विधि का उपयोग करके पंक्ति लिख रहे हैं।Guru99 – ASP.Net” को स्ट्रीम में डालें। स्ट्रीम से, लाइन को फिर फ़ाइल में लिखा जाएगा।
- फिर हम फ़ाइल में लिखने के बाद स्ट्रीम राइटर को बंद कर देते हैं। जब फ़ाइल लिखने के लिए ज़रूरी न रह जाए, तो फ़ाइल हैंडलर को बंद करना आम तौर पर एक अच्छा अभ्यास है।
- अंत में, हम फ़ाइल की सामग्री को फिर से पढ़ रहे हैं और इसे कंसोल लॉग में लिख रहे हैं। यह जाँचने के लिए है कि क्या लाइन फ़ाइल में लिखी गई थी।
जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को विजुअल स्टूडियो का उपयोग करके चलाया जाता है, तो आपको नीचे दिया गया आउटपुट मिलेगा।
आउटपुट: -
आउटपुट से आप देख सकते हैं कि पंक्ति “Guru99 – ASP.Net” को फ़ाइल में सफलतापूर्वक जोड़ दिया गया है। टेक्स्ट की तीनों लाइनें कंसोल में देखी जा सकती हैं।




