很多时候,我们在尝试在Windows平台上编写文件时遇到错误,
"该进程无法访问文件'XXX',因为它正由另一个进程使用."
如何在写入文件之前检入C#,其他进程没有使用它?
你不能,基本上 - 你必须尝试打开文件写,如果你得到一个例外,你不能写它:(
即使您可以先进行单独检查,结果也会在您开始编写之前过时 - 您仍然可以在以后查看异常.
如果框架提供了一种TryOpen
方法,那将是很好的,诚然......
这里唯一的选择是捕获生成的异常并适当地处理它.请参阅其他两个SO线程进行全面讨论:
如何检查文件锁?
检测文件是否被另一个进程锁定(或实际上是同一进程)
close
在代码上使用后,您必须访问您的文件:
FileStream file = new FileStream(fileName, FileMode.Open, FileAccess.Read); //file is opened //you use the file here file.Close(); //then you must to close the file