在Appdata文件夹中创建一个文本文件时获取异常,它说文件正由另一个进程使用

时间:2014-12-05 07:31:58

标签: c# file text-files streamwriter userappdatapath

我正在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的行为相同。

1 个答案:

答案 0 :(得分:2)

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

如果文件不存在,

The constructor you're using for your StreamWriter将会创建该文件。

另一种选择是将FileStream File.Create()返回StreamWriter的适当构造函数。