【问题标题】:IOException was unhandled [duplicate]IOException 未处理 [重复]
【发布时间】:2017-03-28 14:43:36
【问题描述】:

我正在处理 C# 上的文件,我的角色应该从文件中删除一些行,如此处所述:

 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); 如何检查哪个进程正在使用文件,或者我的问题还有其他原因?

【问题讨论】:

标签: c# file


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2021-05-31
    • 1970-01-01
    • 2013-08-10
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    相关资源
    最近更新 更多