我有一个程序大致如下:
- 打开要读取的文件。
- 关闭该文件。
- 启动一个文件监视器以监视文件更改。
- 一旦检测到更改,文件监视器的EnableRaisingEvents标志将设置为false,并从步骤1重新开始。
问题是,在从步骤4返回步骤1之后,无法读取该文件,显示它正在被另一个进程使用。
我收到的错误信息:
Unhandled Exception: System.IO.IOException: The process cannot access the file 'c:\test.xml' because it is being used by another process.
出了什么问题?我的程序中步骤1的读取器仍然保持着对该文件的打开状态吗?还是某个完全不同的进程正在访问该文件?或者是文件监视器在从步骤4移动到步骤1后仍在监视该文件,尽管已将标志设置为false?