C# 行形成一个文件,从C开始删除#
我遇到的问题是,每次我运行代码时,“Titles.txt”中的行都会被删除,我不知道为什么。基本上,我运行程序,然后用一个文本框写入文件,然后关闭程序,检查它是否写入了文件,然后再次运行,再次检查文件是否为空。我能做什么C# 行形成一个文件,从C开始删除#,c#,file,lines,C#,File,Lines,我遇到的问题是,每次我运行代码时,“Titles.txt”中的行都会被删除,我不知道为什么。基本上,我运行程序,然后用一个文本框写入文件,然后关闭程序,检查它是否写入了文件,然后再次运行,再次检查文件是否为空。我能做什么 public Form1() { InitializeComponent(); if(!File.Exists(mainFolder)) { Directory.CreateDirecto
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
的Finally类型应该使用块或try/Finally
块包装在中,以确保即使抛出异常,代码也会释放它们。Create返回可丢弃的FileStream
,因此应该对其进行包装
using(File.Create(tabTitles)){}
由于不使用结果,因此不需要将其分配给任何对象,但如果要写入文件,则可以这样做
using(var file = File.Create(tabTitles)){
// do something with file
}
您需要检查文件,而不是文件夹
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
的Finally类型应该使用块或try/Finally
块包装在中,以确保即使抛出异常,代码也会释放它们。Create返回可丢弃的FileStream
,因此应该对其进行包装
using(File.Create(tabTitles)){}
由于不使用结果,因此不需要将其分配给任何对象,但如果要写入文件,则可以这样做
using(var file = File.Create(tabTitles)){
// do something with file
}
对于目录,File.Exists返回false,因此您可以在每次运行时重新创建该文件 File.Exists对于目录返回false,因此您可以在每次运行时重新创建该文件 请多分享一些代码。我想你应该检查选项卡标题
是否存在请多分享一些代码。我想你应该检查选项卡标题
是否存在