C# 执行到string[] lines = File.ReadAllLines("Note.txt"); 出现正由另一进程使用,因此该进程无法访问该

文件。的运行错误,怎么办
2025-01-05 09:32:16
推荐回答(3个)
回答1:

string tmpFilename = @"tmp.txt";
System.IO.File.Copy("Note.txt", tmpFilename);
string[] lines = System.IO.File.ReadAllLines(tmpFilename);
string find = "要找的字符串";
int lineNumber = 0;
for(int i=0;i if (lines[i].Contains(find))
{
lineNumber = i + 1;
break;
}
if (lineNumber == 0)
Console.WriteLine("文本文件中不含该字符串!");
else
Console.WriteLine("该字符串位于第{0}行", lineNumber);
System.IO.File.Delete(tmpFilename);

回答2:

文件被占用
有可能确实有程序打开了这个文件,或者是你自己打开了这个文件
也有可能是你代码有问题,重复执行了这条语句导致

回答3:

你看看是不是有其他的 对象打开了 那个文件 你把哪个关闭就可以了