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 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 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.
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.
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.
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.