IOException未处理

时间:2017-03-28 14:43:37

标签: c# file

我正在使用C#上的文件,我的cose应该删除文件中的一些行,如下所述:

 var tmpFile = Path.GetTempFileName(); 
 var LinesToKeep = File.ReadLines(path).Where(l => l.StartsWith("removeme")==false);            
 File.WriteAllLines(tmpFile, LinesToKeep);
 File.Delete(path);
 File.Move(tmpFile,path);

但是我在运行代码时遇到异常:IOException was unhandled

  

该进程无法访问该文件,因为该文件正由另一个进程

使用
说明中的

File.Delete(path); 如何检查哪个进程正在使用文件,或者我的问题还有其他原因?

1 个答案:

答案 0 :(得分:1)

使用FileShare枚举来指示操作系统允许其他进程(或您自己进程的其他部分)同时访问同一文件。

using (var stream = File.Open(path, FileMode.Open, FileAccess.Write, FileShare.Read))
{
}