使用以下文件读取代码:
using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None))
{
using (TextReader tr = new StreamReader(fileStream))
{
string fileContents = tr.ReadToEnd();
}
}
和下面的文件写代码:
using (TextWriter tw = new StreamWriter(fileName))
{
tw.Write(fileContents);
tw.Close();
}
可以看到以下异常详细信息:
该进程无法访问文件“c:\temp\myfile.txt”,因为它正被另一个进程使用。
避免这种情况的最佳方法是什么?读者是否需要在收到异常后重试,还是有更好的方法?
请注意,阅读器进程使用FileSystemWatcher来了解文件何时更改。
另请注意,在这种情况下,我不是在寻找在两个进程之间共享字符串的替代方法。