এক ফাইল হল একটি নির্দিষ্ট নাম এবং ডিরেক্টরি পাথ সহ ডিস্কে সংরক্ষিত ডেটার সংগ্রহ। যখন একটি ফাইল পড়তে বা লিখতে খোলা হয়, তবে এটি একটি স্ট্রিমে পরিণত হয়।
স্ট্রিমের ধরনগুলো হল −
বাইট স্ট্রিম (Byte Streams) − এতে Stream, FileStream, MemoryStream এবং BufferedStream অন্তর্ভুক্ত।
ক্যারেক্টার স্ট্রিম (Character Streams) − এতে TextReader-TextWriter, StreamReader, StreamWriter এবং অন্যান্য স্ট্রিম অন্তর্ভুক্ত।
বাইট স্ট্রিমের ক্লাসগুলো স্ট্রিমের ডেটাকে বাইট হিসেবে বিবেচনা করে।
Stream ক্লাস অন্যান্য বাইট স্ট্রিম ক্লাসের বেস। এর প্রপার্টিগুলো হল −
CanRead − স্ট্রিম পড়াকে সাপোর্ট করে কিনা
CanWrite − স্ট্রিম লিখতে সাপোর্ট করে কিনা
Length − স্ট্রিমের দৈর্ঘ্য
System.IO namespace-এ ফাইলের সাথে বিভিন্ন অপারেশন করার জন্য অনেক ক্লাস রয়েছে, যেমন ফাইল তৈরি ও ডিলিট, ফাইল থেকে পড়া বা ফাইলে লিখা, ফাইল বন্ধ করা ইত্যাদি।
আমরা যে স্ট্রিমগুলো আলোচনা করেছি সেগুলো নিচের টেবিলে বর্ণনা করা হলো −
| Sr.No | I/O Class & Description |
|---|---|
| 1 | BinaryReader বাইনারি স্ট্রিম থেকে প্রিমিটিভ ডেটা পড়ে। |
| 2 | BinaryWriter প্রিমিটিভ ডেটা বাইনারি ফরম্যাটে লিখে। |
| 3 | BufferedStream বাইট স্ট্রিমের জন্য একটি অস্থায়ী স্টোরেজ। |
| 4 | Directory ডিরেক্টরি স্ট্রাকচার ম্যানিপুলেট করতে সাহায্য করে। |
| 5 | DirectoryInfo ডিরেক্টরি ওপারেশন করার জন্য ব্যবহৃত হয়। |
| 6 | DriveInfo ড্রাইভের তথ্য প্রদান করে। |
| 7 | File ফাইল ম্যানিপুলেট করতে সাহায্য করে। |
| 8 | FileInfo ফাইল ওপারেশন করার জন্য ব্যবহৃত হয়। |
| 9 | FileStream ফাইলের যেকোনো লোকেশন থেকে পড়া এবং লিখতে ব্যবহৃত হয়। |
| 10 | MemoryStream মেমরিতে সংরক্ষিত স্ট্রিমড ডেটায় র্যান্ডম অ্যাক্সেসের জন্য ব্যবহৃত হয়। |
| 11 | Path পাথ ইনফরমেশনে অপারেশন করে। |
| 12 | StreamReader বাইট স্ট্রিম থেকে ক্যারেক্টার পড়তে ব্যবহৃত হয়। |
| 13 | StreamWriter স্ট্রিমে ক্যারেক্টার লিখতে ব্যবহৃত হয়। |
| 14 | StringReader স্ট্রিং বাফার থেকে পড়তে ব্যবহৃত হয়। |
| 15 | StringWriter স্ট্রিং বাফারে লিখতে ব্যবহৃত হয়। |