我正在尝试用C#创建/编码一个有用的工具,可能需要一点帮助,并遇到一个特定的问题。
我想知道是否有任何一种方法来结束尝试访问文件的所有进程,因此我可以打开并编辑特定文件。
问题是我正在尝试对已被另一个进程占用的文件进行“ System.IO.File.WriteAllLines()”。
System.IO.StreamReader file = new System.IO.StreamReader(settingsPath);
try
{
while (file.ReadLine() != null)
{
String lineContent = file.ReadLine();
if (lineContent.Contains(whichSettingString) && lineContent != null)
{
lineContent = lineContent.Replace(whichSettingString, NewValue);
completeLineContent[0] = lineContent;
}
lineContent = lineContent + lineContent;
}
} catch (Exception)
{
}
//file.Dispose();
file.Close();
System.IO.File.WriteAllLines(settingsPath, completeLineContent);
我的IDE Visual Studio在最后一行抛出异常,说该文件已被另一个进程占用。代码本身正在工作,我试图将此块的输出保存/写入另一个文件,并且正在工作。因此,我得到的唯一可以帮助我的想法是一行代码或可能多于一行代码来“杀死”所有试图访问文件的进程。
已经搜索了一段时间,并检查了Stack Overflow以解决此问题,但到目前为止尚未找到解决方案。这是我对Stack Overflow的第一条评论,我对编码有点陌生,因此,如果需要任何其他信息,请随时询问:-)
非常感谢 最好的祝福 尼科