💾 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)







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