正如标题所示,我正在尝试同时读写文件。我已经研究了这个主题,但是我找到的答案似乎对我的程序不起作用,因为我的程序情况比较特殊。我使用多个FileSystemWatcher来跟踪大量通过网络流动的文件。随着文件通过流程的每个部分,一个文本文件被更新(每个流程中有一个文本文件),记录了文件的名称和创建时间。无法预测文件何时会通过,以及何时会写入跟踪文本文件。我的目标是能够同时读写文件,在用户尝试读取正在写入的文本文件时进行操作。我该如何实现这一点?
//Write to File
private void WriteToFile(string info,string path,string tr)
{
if (!File.Exists(path+@"\"+@tr))
{
var myFile =
File.Create(path + @"\" + @tr);
myFile.Close();
TextWriter tw = new StreamWriter(path + @"\" + @tr, true);
tw.WriteLine(info,true);
tw.Close();
}
else if (File.Exists(path + @"\" + @tr))
{
TextWriter tw = new StreamWriter(path + @"\" + @tr, true);
tw.WriteLine(info);
tw.Close();
}
}