13.1 – StreamWriter ile Veri Kaydetme


💾 13.1 – StreamWriter ile Veri Kaydetme


🎯 

Amaç:

C# Windows Forms uygulamasında kullanıcıdan alınan verileri bir .txt dosyasına yazmayı öğreneceğiz. Bu işlem için StreamWriter sınıfı kullanılacaktır.


🔧 

Kullanılan Sınıf:

using System.IO;

📘 

Temel Kullanım Şablonu:

using (StreamWriter sw = new StreamWriter("notlar.txt", true))
{
    sw.WriteLine("Bu bir örnek veridir.");
}

🔹 true: Dosyanın sonuna ekleme yapar.

🔹 false: Dosyayı silip yeniden yazar (varsayılan).


🧪 

Örnek 1: Sabit Veri Yazma

private void btnYaz_Click(object sender, EventArgs e)
{
    using (StreamWriter sw = new StreamWriter("veriler.txt", true))
    {
        sw.WriteLine("Merhaba, bu bir test kaydıdır.");
    }
    MessageBox.Show("Veri kaydedildi.");
}

✅ Sonuç: veriler.txt dosyası oluşur ve içinde satır yer alır.


🧪 

Örnek 2: Kullanıcıdan Alınan Veriyi Yazma

private void btnKaydet_Click(object sender, EventArgs e)
{
    string adSoyad = txtAd.Text;
    string not = txtNot.Text;

    using (StreamWriter sw = new StreamWriter("ogrenci_notlari.txt", true))
    {
        sw.WriteLine($"{adSoyad} - {not}");
    }

    MessageBox.Show("Not başarıyla dosyaya kaydedildi.");
}

📌 txtAd ve txtNot → Form’daki TextBox bileşenleri.


🧪 

Örnek 3: Her Satıra Tarih Ekleme

using (StreamWriter sw = new StreamWriter("gunluk.txt", true))
{
    sw.WriteLine($"{DateTime.Now}: Bugün hava çok güzeldi.");
}

🧪 

Örnek 4: Çok Satırlı Veri Yazma

string[] notlar = { "Matematik: 85", "Fizik: 92", "Kimya: 78" };
using (StreamWriter sw = new StreamWriter("ders_notlari.txt"))
{
    foreach (string satir in notlar)
    {
        sw.WriteLine(satir);
    }
}

🧪 

Örnek 5: Kullanıcıdan Alınan Not Nesnesini Yazma (Entity)

Not yeniNot = new Not
{
    Baslik = txtBaslik.Text,
    Icerik = txtIcerik.Text,
    Tarih = DateTime.Now
};

using (StreamWriter sw = new StreamWriter("notlar.txt", true))
{
    sw.WriteLine($"{yeniNot.Tarih} - {yeniNot.Baslik} - {yeniNot.Icerik}");
}

⚠️ 

Dikkat Edilecekler:

  • using yapısı dosya kilitlenmesini önler, kaynakları serbest bırakır
  • Dosya adı uzantısıyla birlikte verilmelidir
  • Yazılan dosya projenin bin\Debug klasöründe oluşur (varsayılan)
  • Türkçe karakter problemi yaşanıyorsa Encoding.UTF8 belirtilebilir
new StreamWriter("notlar.txt", true, Encoding.UTF8)

1 Response

  1. Pingback : A'DAN Z'YE C# İLE NTP - Hasan TANDOĞAN

Leave a Reply