Bu yazıda C# ile dosya okumadan, bir txt dosyasını satır satır yazmaya kadar bir çok konuda dosya okuma ve yazma konusununda yazı ve örnekler bulacaksınız.
Ayrıca C# ile dosyadan veri okumak yada C# ile dosyaya veri yazmak için gerekli sınıflar ve bunların kurucu metotlar gibi bilgilere kadar bir çok dosya işlemleri hakkında komutlar öğrenmiş olacaksınız.
C# Dosya İşlemleri
Dosya açma, okuma ve yazma gibi bir çok örneği bu yazı içinde bulacağınızı belirtmiştim. Örnekleri uygulama isimleri ve açıklamaları ile aşağıda basitten zora doğru sıraladım.
C# dosya oluşturma ve yazma
İlk örneğimizi txt uzantılı bir text (metin) dosyası oluşturup bu dosyaya verileri nasıl kaydedeceğimizi görelim. Aşağıdaki örnekte bir tane richTextBox1 ve button1 nesneleri var. Butona tıklandığında richtextbox içindeki veriler yazi.txt dosyasına kaydedilecek.
Kaydedilecek dosya yolu global olarak tanımlanıp, form load metodu ile aşağıdaki gibi isimlendirilmiştir.
1 2 3 4 5 6 7 8 9 | string dosyayolu; public Form1() { InitializeComponent(); dosyayolu = "yazi.txt"; } |
Button1 nesnesine tıklandığında dosya yoksa oluşturulup metin alanındaki veriler kaydedilecektir. Bu işlemi yapan buton click kodları şu şekilde oluşur.
1 2 3 4 5 6 7 8 9 10 11 12 13 | private void button1_Click(object sender, EventArgs e) { //Dosya yoksa Oluştur if (!File.Exists(dosyayolu)) { File.Create(dosyayolu); } File.WriteAllText(dosyayolu, richTextBox1.Text); } |
Yukarıdaki kod derlenip çalıştırıldığında bin klasöründe belirttiğimiz dosyayı oluşturup metin kutusudaki değeleri dosyaya yazdıracaktır.
C# dosyadan veri okuma
Ancak her zaman bu şekilde yapmak istemeyiz. Dosyadaki verileri de görmek üzerinde güncelleme yapmak isteriz. Uygulama ayağa kaldırıldığında dosyayı okuma ve okunan verilerde güncelleme yapıp kaydetme için form load içini aşağıdaki gibi güncelleyebiliriz.
Form yüklendiğinde dosyadaki verileri okuma c# ile txt satır satır okuma;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | public partial class Form1 : Form { string dosyayolu; public Form1() { InitializeComponent(); dosyayolu = "yazi.txt"; //dosyayı okuma modunda açıyoruz FileStream fileStream = new FileStream(dosyayolu, FileMode.OpenOrCreate, FileAccess.Read); //dosyadan satır satır okuyup textBox içine yazıdırıyoruz using (StreamReader reader = new StreamReader(fileStream)) { while (true) { string satir = reader.ReadLine(); richTextBox1.Text += satir + "\n"; // satır ve yeni satır(\n) if (satir == null) break; } reader.Close(); } fileStream.Close(); } private void button1_Click(object sender, EventArgs e) { //Dosya yoksa Oluştur if (!File.Exists(dosyayolu)) { File.Create(dosyayolu); } File.WriteAllText(dosyayolu, richTextBox1.Text); } } |
C# txt satır satır yazma
Genellikle yukarıdaki uygulama ile dosya oluşturma okuma ve yazma işlemleri rahatlıkla yapılabilir ancak bazı durumlarda StreamWriter ile c# txt satır satır yazma gibi durumlar olabilir. Bunun için button1 içindeki kodu aşağıdaki gibi güncelleyin.
1 2 3 4 5 6 7 8 9 10 11 12 | private void button1_Click(object sender, EventArgs e) { using (StreamWriter writer = new StreamWriter(dosyayolu)) { foreach (var satir in richTextBox1.Lines) { writer.WriteLine(satir); } } } |
Yorum Yap