C#:
টেক্সট ফাইল পড়া

কিভাবে:

চলুন সরাসরি বিষয়ে যাই। এখানে আপনি কিভাবে C#System.IO ব্যবহার করে একটি ফাইল থেকে পড়বেন তা দেখানো হল।

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = @"C:\path\to\your\file.txt";
        
        // সমস্ত টেক্সট পড়া
        string allText = File.ReadAllText(filePath);
        Console.WriteLine(allText);
        
        // লাইনগুলি একটি অ্যারেতে পড়া
        string[] lines = File.ReadAllLines(filePath);
        foreach (var line in lines)
        {
            Console.WriteLine(line);
        }
        
        // StreamReader এর সাহায্যে পড়া
        using (StreamReader reader = new StreamReader(filePath))
        {
            string line;
            while ((line = reader.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
        }
    }
}

নমুনা আউটপুট:

হ্যালো, এটি একটি টেক্সট ফাইল।
এতে একাধিক লাইন রয়েছে।
প্রতিটি লাইন আলাদা আলাদা ভাবে পড়া হবে।

গভীর ডুব

টেক্সট ফাইল পড়া যথেষ্ট সহজ মনে হয়, তাই না? কিন্তু এর পেছনে কিছু ইতিহাস এবং জানার মতো কিছু বিষয় রয়েছে।

অতীতে, টেক্সট ফাইলগুলি প্রায়ই ডেটা সঞ্চয় করার প্রধান উপায় ছিল যখন ডাটাবেসগুলি প্রচলিত ছিল না। প্রোগ্রামারদের ফাইল অ্যাক্সেস ব্যবস্থাপনা করতে হতো, ডেটা সঠিক ফর্ম্যাট করতে হতো এবং ত্রুটিগুলি সামলাতে হতো। সেই থেকে C# অনেক উন্নত হয়েছে। এখন, System.IO আপনার ফাইল অপারেশনের জন্য প্রধান নেইমস্পেস।

আপনার অপশনগুলি রয়েছে:

  • File.ReadAllText এক যাত্রায় সমগ্রটা পড়ে—ছোট ফাইলের জন্য দারুণ।
  • File.ReadAllLines প্রতিটি লাইনকে একটি অ্যারে উপাদান হিসেবে দেয়—লাইন প্রসেস করা সুবিধাজনক।
  • StreamReader লাইন দ্বারা লাইন পড়ে, যা বৃহৎ ফাইলের জন্য আরও মেমরি দক্ষ।

প্রতিটি পদ্ধতি ব্যবহারের সময় ফাইলটিকে লক করে। অন্যান্য প্রক্রিয়া যদি ফাইলে অ্যাক্সেস করতে চায় তবে এটি গুরুত্বপূর্ণ।

মনে রাখবেন, ফাইল নিয়ে কাজ করার সময় FileNotFoundException বা IOException এর মতো ব্যতিক্রমগুলি সামলানো অত্যন্ত জরুরি। আপনি আপনার অ্যাপ্লিকেশনকে অপ্রত্যাশিতভাবে ক্র্যাশ করতে চাইবেন না।

আরও দেখুন

আরও প্রশ্ন আছে বা আপনার জ্ঞান প্রসারিত করতে চান? এই লিংকগুলি দেখুন: