在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的行为相同。
最简单的解决方案是省略File.Create()
。
您用于 StreamWriter 的构造函数将已经创建该文件(如果它不存在)。
另一种选择是将File.Create()
返回的FileStream
传递给适当的 StreamWriter
构造函数。