创建文件后流编写器崩溃
本文关键字:崩溃 文件 创建 | 更新日期: 2023-09-27 18:34:25
所以我有我的写入文件函数,如果文件不存在,它将创建文件,并且它可以工作,但问题是你第一次运行代码时,当文件不存在时,它会创建它,然后使程序崩溃
//writing file to Error.txt
string path = @err;
if (!File.Exists(path)) // if does not exist make it
{
File.Create(path);
TextWriter tw = new StreamWriter(path); //crashes here after create
tw.WriteLine(i);
tw.Close();
}
例外情况是:
mscorlib 中发生了类型为"System.IO.IOException"的未处理异常.dll
其他信息:进程无法访问文件
"C:''Users''Desktop''TestStuff''error.txt",因为它正被另一个进程使用。
您在此处使用了 2 个文件流,而没有关闭第一个文件流。
摆脱File.Create(path);
. 该方法创建一个文件,但它也会返回一个你不存储和关闭的文件流。
StreamWriter
会为你制作文件,但它不能,因为你的程序有一个句柄。
你可以通过使用
using (TextWriter tw = new StreamWriter(path, FileMode.Create, FileAccess.Write))
{
tw.WriteLine(i);
}
这将创建或从位置 0 重新打开文件,您可以像这样写入它