Başlangıç > C# > C# ile dosya okuma yazma işlemleri

C# ile dosya okuma yazma işlemleri

C# ile basit dosya okuma yazma (girdi/çıktı) işlemleri için StreamReader ve StreamWriter sınıfları yazılmıştır.

Dosya okumak için StreamReader, yazmak için de StreamWriter sınıfını kullanabiliriz.
Bu sınıfları kullanabilmek için projemize aşağıdaki namespacei eklemeliyiz:

using System.IO;
Dosya okuma

C:’de bir txt dosyası oluşturalım ve bu dosyayı okuduğumuz basit bir örnek yapalım:

string DosyaKonumu = "C:\\Kodzilla.txt";
StreamReader DosyaOkuyucu = new StreamReader(DosyaKonumu);
string Metin = DosyaOkuyucu.ReadToEnd();

Console.WriteLine("Okunan içerik: " + Metin );

Bu konuyla ilgili başka bir yazı:
Bu şekilde dosyamızı en basit şekilde okuduk, tabi dosyayı oluşturmadıysanız bir hata alacaksınız. Yeri gelmişken; dosyanın var olup olmadığını şöyle kontrol edebilirsiniz:

string DosyaKonumu = "C:\\Kodzilla.txt";
if (File.Exists(DosyaKonumu))
{
    StreamReader DosyaOkuyucu = new StreamReader(DosyaKonumu);
    string Metin = DosyaOkuyucu.ReadToEnd();
    Console.WriteLine("Okunan içerik: " + Metin);
    DosyaOkuyucu.Close();
}
else
{
    Console.WriteLine("Dosya bulunamadı!");
}

Bu kontrolü File sınıfındaki Exists metoduyla yapabilirsiniz, geriye true yada false değer döndürür.

Fark ettiyseniz dosya içeriğini okuduktan sonra DosyaOkuyucu.Close metodu ile kapattık. Bu dosya ile ilişiğimizin kesilmesini sağladı. Yani oluşturduğumuz DosyaOkuyucu nesnesi artık boş yere kaynak tüketmeyecek.
Bunu şöyle de yapabilirsiniz, ben bunu tavsiye ederim. Hem daha kullanışlı:

string DosyaKonumu = "C:\\Kodzilla.txt";
if (File.Exists(DosyaKonumu))
{
    using (StreamReader DosyaOkuyucu = new StreamReader(DosyaKonumu))
    {
        string Metin = DosyaOkuyucu.ReadToEnd();
        Console.WriteLine("Okunan içerik: " + Metin);
    }
}
else
{
    Console.WriteLine("Dosya bulunamadı!");
}

Kullandığınız nesnelerin işiniz bitince otomatik yok edilmesini istiyorsanız onları using blokları içinde yazabilirsiniz.

İsterseniz okuduğumuz metni satırlara bölelim:

Kodları görmek için tıklayın.
[/sourceode]

Alakasız olabilir ama, split metodu metni parçalamaya yarar. Ayırdığımız satırları ise foreach döngüsü ile okuduk.

Bunlarla beraber, dilerseniz .net’in nimetlerinden faydalanabilirsiniz. Aynı dosyayı File sınıfını kullanarak okuyalım:
Kodları görmek için tıklayın.

Ya da satır satır okuyalım:
Kodları görmek için tıklayın.

Dosya yazma

En temel olarak şöyle yazabiliriz:
Kodları görmek için tıklayın.

Aynı işi File sınıfını kullanarak yapalım:
Kodları görmek için tıklayın.

Bu metod dosya içeriğini silip yerine yenisini yazacaktır, eğer sonuna eklemeyi düşünüyorsanız şunu deneyin:
Kodları görmek için tıklayın.

  1. Okan Soran
    Nisan 27, 2013, 10:34 pm

    verdiğiniz linkler istem dışı dosya indiriyor. bu çok yanlış bir davranış. amacınız para ise bu siteyi kapatın. böyle yapmamalıısınız…

    • Mayıs 1, 2013, 5:09 am

      Siteye mail attım, bu saçma sistemi kaldırdılar. Kusura bakmayın. Fakat sizde beni anlamalısınız, zaman ayırıyorum bloglar için…

    • Mayıs 1, 2013, 5:10 am

      Siteye mail attım, kaldırdılar bu sistemi. Kusura bakmayın, uzun süredir ilgilenemiyordum blogla.

  2. Tokan Boran
    Nisan 30, 2013, 9:25 am

    Her şey için bir program indirmek mi zorundayız koysana buraya kodları kendinde uğraşma bizde uğraşmayalım.

    • Mayıs 1, 2013, 5:07 am

      Onlar program değil, kaynak kodlarının linkleri..

  3. Mayıs 8, 2013, 3:45 pm

    Belli Bir Satırı Silmek İstiyorum Nasıl Yapabilirim ?

  4. kadir kas
    Haziran 15, 2013, 5:34 pm

    merhaba,
    kitaptan vorde okuyarak yazmak istiyorum. program gönderebilrmisiniz. açıklamalı.
    hataları geri bildiririm. tşkler.

  1. No trackbacks yet.

Yorum bırakın