0

我正在 Appdata 文件夹中编写一个文本文件,我正在创建一个文件夹并创建一个文本文件,在下一行中,我正在通过 StreamWriter 将文本写入文件。但在这里我得到以下异常。

该进程无法访问文件“C:\sdfdfg\sdfsd\AppData\Roaming\MyFolder\myFile.txt”,因为它正被另一个进程使用。

我在创建文件时遇到这个异常,如果我第二次运行应用程序而不是应用程序将文本写入同一个文件。

我的代码如下

StringBuilder sb=new StringBuilder();
if (!File.Exists(filePath))
{
     File.Create(filePath);
     sb.AppendLine(line);
     using (StreamWriter writer = new StreamWriter(filePath, true))
     {
         writer.Write(sb.ToString());
         writer.Close();
     }
}

我尝试了 File 的另一个函数 File.WriteAllText(filePath, textToWrite); 但它的执行方式也与上面 StreamWriter 的行为方式相同。

4

1 回答 1

2

最简单的解决方案是省略File.Create().

如果文件不存在,您用于 StreamWriter 的构造函数将已经创建该文件。

另一种选择是将返回的 传递给FileStreamFile.Create()适当构造函数StreamWriter

于 2014-12-05T07:37:34.857 回答