Bir .txt dosyası oluşturmak ve ona yazmak istiyorum ve dosya zaten varsa, sadece birkaç satır daha eklemek istiyorum:
string path = @"E:\AppServ\Example.txt";
if (!File.Exists(path))
{
File.Create(path);
TextWriter tw = new StreamWriter(path);
tw.WriteLine("The very first line!");
tw.Close();
}
else if (File.Exists(path))
{
TextWriter tw = new StreamWriter(path);
tw.WriteLine("The next line!");
tw.Close();
}
Ama ilk satır her zaman üzerine yazılıyor gibi ... aynı satırda yazmaktan nasıl kaçınabilirim (bunu bir döngüde kullanıyorum)?
Bunun oldukça basit bir şey olduğunu biliyorum, ama daha WriteLine
önce hiç bu yöntemi kullanmadım. C # için tamamen yeniyim.
File.Open
dahili olarak WinAPI işlevine delege olur (bir sonraki yoruma bakın) umarım yarış durumunu önler. Buradaki çoğu çözüm bunu yapmaz ve açıkça yarış koşullarına tabidir.
if (file exists) { open file }
tüm programlama dillerinde neredeyse her zaman yanlıştır! .NET için çözümFile.Open(path, FileMode.Append, FileAccess.ReadWrite)
uygun bayraklarla kullanmaktır .