行组成一个文件,在c#开始时删除
本文关键字:文件 删除 开始时 一个 | 更新日期: 2023-09-27 17:51:20
我遇到的问题是,每次我运行我的代码,行从"标题。txt"被删除,我不知道为什么。基本上,我运行程序,然后我用一个文本框写入文件,然后我关闭程序,检查它是否写入文件,它确实写入了,我再次运行它,再次检查文件,结果是空的。我能做什么?
public Form1()
{
InitializeComponent();
if(!File.Exists(mainFolder))
{
Directory.CreateDirectory(mainFolder);
Directory.CreateDirectory(tabTitlesFolder);
var file = File.Create(tabTitles);
file.Close();
}
}
您需要检查的是文件,而不是文件夹。
public Form1()
{
InitializeComponent();
if(!File.Exists(tabTitles)) // check if the file exists, (you had a check on mainFolder)
{
Directory.CreateDirectory(mainFolder);
Directory.CreateDirectory(tabTitlesFolder);
var file = File.Create(tabTitles); // this is what you are creating so also what you should be checking for above in the if
file.Close();
}
}
如果该文件已经存在,File.Create
将覆盖该文件,请参阅文档。
最后,实现IDisposable
的类型应该包装在using
块或try/finally
块中,以确保即使抛出异常也能被代码释放。文件。Create返回FileStream
,这是一次性的,所以它应该被包装。
using(File.Create(tabTitles)){}
由于您不使用结果,因此您不需要将其分配给任何东西,但如果您想写入文件,则可以这样做。
using(var file = File.Create(tabTitles)){
// do something with file
}
文件。Exists对目录返回false,因此每次运行时都要重新创建该文件。