avatar
·2 dk okuma
C# ile Dosya İşlemleri (File IO)

C# ile Dosya İşlemleri (File IO)

C# programlama dilinde dosya işlemleri, dosyalardan veri okuma veya dosyalara veri yazma işlemlerini kapsar. Bu işlemler, System.IO ad alanı altındaki sınıflar aracılığıyla gerçekleştirilir.

Dosyaya Yazma

Dosyaya yazmak için StreamWriter sınıfı kullanılır. Bu sınıf, belirtilen dosyaya metin yazmanıza olanak tanır. Eğer dosya mevcut değilse, belirtilen yolda yeni bir dosya oluşturulur.

using System.IO;

string dosyaYolu = @"C:\\\\ornek.txt";
using (StreamWriter writer = new StreamWriter(dosyaYolu))
{
    writer.WriteLine("Merhaba Dünya!");
}

Bu kod parçası, belirtilen yolda "Merhaba Dünya!" metnini içeren bir dosya oluşturur.

Dosyadan Okuma

Dosyadan okumak için StreamReader sınıfı kullanılır. Bu sınıf, belirtilen dosyadan metin okumanıza olanak tanır.

using System.IO;

string dosyaYolu = @"C:\\\\ornek.txt";
using (StreamReader reader = new StreamReader(dosyaYolu))
{
    string icerik = reader.ReadToEnd();
    Console.WriteLine(icerik);
}

Bu kod parçası, belirtilen dosyanın tüm içeriğini okur ve konsola yazdırır.

Dosyaya Ekleme

Var olan bir dosyaya veri eklemek için StreamWriter sınıfının bir overload'ını kullanarak append modunu true olarak belirleyebilirsiniz. Bu şekilde, dosyanın mevcut içeriğinin üzerine yazmak yerine, dosyanın sonuna yeni veriler eklenir.

using System.IO;

string dosyaYolu = @"C:\\\\ornek.txt";
using (StreamWriter writer = new StreamWriter(dosyaYolu, true))
{
    writer.WriteLine("Yeni satır");
}

Bu kod parçası, mevcut dosyanın sonuna "Yeni satır" metnini ekler.

Try-Catch Bloğu ile Hata Yönetimi

Dosya işlemleri sırasında oluşabilecek hataları yönetmek için try-catch blokları kullanılabilir. Örneğin, dosya bulunamadığında FileNotFoundException hatası yönetilebilir:

using System;
using System.IO;

string dosyaYolu = @"C:\\\\olmayanDosya.txt";
try
{
    using (StreamReader reader = new StreamReader(dosyaYolu))
    {
        string icerik = reader.ReadToEnd();
        Console.WriteLine(icerik);
    }
}
catch (FileNotFoundException)
{
    Console.WriteLine("Dosya bulunamadı.");
}

Bu kod parçası, belirtilen dosya mevcut değilse, bir hata mesajı yazdırır.

Sonuç

C# ile dosya işlemleri, System.IO ad alanındaki sınıflar sayesinde kolayca gerçekleştirilebilir. StreamWriter ve StreamReader sınıfları, dosyalara yazma ve dosyalardan okuma işlemleri için temel araçlardır. Dosya işlemleri sırasında hata yönetimi için try-catch bloklarının kullanılması önemlidir. Bu sayede, programın beklenmedik hatalar karşısında daha sağlam olması sağlanır.