结束所有尝试访问文件的进程。 C#

时间:2018-10-23 07:38:39

标签: c# streamwriter kill-process file-access

我正在尝试用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的第一条评论,我对编码有点陌生,因此,如果需要任何其他信息,请随时询问:-)

非常感谢 最好的祝福 尼科

0 个答案:

没有答案