Başım ağrıyor olan aşağıdaki kod bloğum var.FileStream okuma ve yazma için bir dosya kilitleme C#
Mantıksal olarak, kullanım bildirimi içinde kilidi sağlayan filestriyi kullanıyorum. StreamWriter'i oluşturan çizgiye geldiğinde, "dosya yazılabilir değil" diyerek başarısız olur.
Şimdi programım çok iş parçacıklı bir uygulamadır. Herhangi bir iş parçacığı bu dosyaya yazmaya çalışıyor olabilir. Dosyayı kilitlemek, içeriği okumak, içeriği kontrol etmek ve sonra herhangi bir değişiklik yapmak için programa ihtiyacım var. Bu işlem sırasında, başka bir iş parçacığı bu dosyaya erişebilmelidir.
using (var fs = File.Open(fileLoc, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
var sr = new StreamReader(fs);
var str = sr.ReadToEnd();
var strArray = str.Split(',');
if (strArray.Any(st => st == text))
{
return;
}
sr.Close();
var sw = new StreamWriter(fs);
sw.Write(str + text);
sw.Flush();
sw.Close();
}