এখানে অন্যান্য উত্তরের বিষয়ে কিছুটা প্রসারিত করতে এবং উদাহরণস্বরূপ কোড সম্পর্কে আপনি যা ডটেড দেখতে পাবেন তার বেশিরভাগ সময় ব্যাখ্যা করতে সহায়তা করুন, বেশিরভাগ সময় আপনি সরাসরি কোনও স্ট্রিমে পড়েন না এবং লিখেন না। স্ট্রিমগুলি ডেটা স্থানান্তর করার জন্য একটি নিম্ন-স্তরের মাধ্যম।
আপনি লক্ষ্য করবেন যে পড়তে এবং লেখার জন্য সমস্ত কার্যগুলি বাইট ভিত্তিক হয়, যেমন: WritByte ()। পূর্ণসংখ্যা, স্ট্রিং ইত্যাদি নিয়ে কাজ করার জন্য কোনও কার্যকারিতা নেই এটি স্ট্রিমটিকে খুব সাধারণ-উদ্দেশ্য করে তোলে, তবে যদি বলি আপনি কেবল পাঠ্য স্থানান্তর করতে চান তবে এর সাথে কাজ করা কম সহজ work
তবে .NET ক্লাস সরবরাহ করে যা দেশীয় প্রকার এবং নিম্ন-স্তরের স্ট্রিম ইন্টারফেসের মধ্যে রূপান্তর করে এবং আপনার জন্য স্ট্রিমে বা থেকে ডেটা স্থানান্তর করে fers এর মধ্যে কয়েকটি উল্লেখযোগ্য শ্রেণি:
StreamWriter // Badly named. Should be TextWriter.
StreamReader // Badly named. Should be TextReader.
BinaryWriter
BinaryReader
এগুলি ব্যবহার করতে, প্রথমে আপনি আপনার স্ট্রিমটি অর্জন করুন, তারপরে আপনি উপরের শ্রেণীর একটি তৈরি করুন এবং এটিকে প্রবাহের সাথে যুক্ত করুন। যেমন
MemoryStream memoryStream = new MemoryStream();
StreamWriter myStreamWriter = new StreamWriter(memoryStream);
স্ট্রিমরিডার এবং স্ট্রিম রাইটার দেশীয় ধরণের এবং তাদের স্ট্রিং উপস্থাপনার মধ্যে রূপান্তর করে তারপরে স্ট্রিংগুলিকে স্ট্রিম থেকে বাইট হিসাবে স্থানান্তর করে। সুতরাং
myStreamWriter.Write(123);
"123" (তিনটি অক্ষর '1', '2' তারপরে '3') প্রবাহে লিখবে। আপনি যদি পাঠ্য ফাইলগুলি (যেমন এইচটিএমএল) নিয়ে কাজ করছেন তবে স্ট্রিমরাইডার এবং স্ট্রিম রাইটারগুলি আপনার ব্যবহৃত ক্লাস।
যেহেতু
myBinaryWriter.Write(123);
32-বিট পূর্ণসংখ্যার মান 123 (0x7B, 0x00, 0x00, 0x00) উপস্থাপন করে চারটি বাইট লিখবে। আপনি যদি বাইনারি ফাইল বা নেটওয়ার্ক প্রোটোকল নিয়ে কাজ করছেন তবে বাইনারিআডার এবং বাইনারিউইটার যা আপনি ব্যবহার করতে পারেন। (আপনি যদি নেটওয়ার্কগুলি বা অন্যান্য সিস্টেমের সাথে ডেটা বিনিময় করেন তবে আপনাকে অন্তর্নিহিততার বিষয়ে সচেতন হওয়া দরকার , তবে এটি অন্য একটি পোস্ট))