我正在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的行为相同。
答案 0 :(得分:2)
最简单的解决方案是忽略File.Create()
。
The constructor you're using for your StreamWriter将会创建该文件。
另一种选择是将FileStream
File.Create()
返回StreamWriter
的适当构造函数。