在Appdata文件夹中创建文本文件时出现异常,它说文件它正被另一个进程使用

本文关键字:文件 另一个 进程 文件夹 Appdata 创建 文本 异常 | 更新日期: 2023-09-27 18:33:16

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

在Appdata文件夹中创建文本文件时出现异常,它说文件它正被另一个进程使用

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

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

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