13.2 – StreamReader ile Veri Okuma


📖 13.2 – StreamReader ile Veri Okuma


🎯 

Amaç:

Bir .txt dosyasındaki verileri okuyarak program içinde kullanmak.

Kullanıcıya gösterme, listeye ekleme veya analiz etme gibi işlemlerde kullanılır.

Bu iş için StreamReader sınıfı tercih edilir.


🔧 

Kullanılan Sınıf:

using System.IO;

📘 

Temel Kullanım Şablonu:

using (StreamReader sr = new StreamReader("dosyaadi.txt"))
{
    string satir;
    while ((satir = sr.ReadLine()) != null)
    {
        // satır satır okuma işlemi
    }
}

🧪 

Örnek 1: Sabit Dosyadan Okuma

private void btnOku_Click(object sender, EventArgs e)
{
    using (StreamReader sr = new StreamReader("veriler.txt"))
    {
        string metin = sr.ReadToEnd();
        MessageBox.Show(metin);
    }
}

✅ Dosya içeriği tamamı bir kerede okunur ve gösterilir.


🧪 

Örnek 2: ListBox’a Satır Satır Aktarma

private void btnListele_Click(object sender, EventArgs e)
{
    lstNotlar.Items.Clear();

    using (StreamReader sr = new StreamReader("notlar.txt"))
    {
        string satir;
        while ((satir = sr.ReadLine()) != null)
        {
            lstNotlar.Items.Add(satir);
        }
    }
}

✅ ListBox kontrolünde her satır ayrı bir eleman olarak gösterilir.


🧪 

Örnek 3: Satır Sayısını Hesaplama

int satirSayisi = 0;
using (StreamReader sr = new StreamReader("notlar.txt"))
{
    while (sr.ReadLine() != null)
    {
        satirSayisi++;
    }
}
MessageBox.Show("Toplam satır sayısı: " + satirSayisi);

🧪 

Örnek 4: Tarihi İçeren Satırları Ayırmak

List<string> tarihler = new();
using (StreamReader sr = new StreamReader("notlar.txt"))
{
    string satir;
    while ((satir = sr.ReadLine()) != null)
    {
        if (satir.Contains("2025"))
        {
            tarihler.Add(satir);
        }
    }
}

🧪 

Örnek 5: Dosya İçeriğini Tek Bir TextBox’a Yükleme

private void btnOku_Click(object sender, EventArgs e)
{
    txtIcerik.Text = File.ReadAllText("notlar.txt", Encoding.UTF8);
}

⚠️ 

Dikkat Edilecekler:

  • Dosya bulunamazsa FileNotFoundException hatası oluşabilir → 13.3’te çözeceğiz
  • Okuma işlemi yaparken dosya başka bir program tarafından açık olmamalıdır
  • Türkçe karakterler için yine Encoding.UTF8 önerilir

Leave a Reply