C# 行形成一个文件,从C开始删除#

C# 行形成一个文件,从C开始删除#,c#,file,lines,C#,File,Lines,我遇到的问题是,每次我运行代码时,“Titles.txt”中的行都会被删除,我不知道为什么。基本上,我运行程序,然后用一个文本框写入文件,然后关闭程序,检查它是否写入了文件,然后再次运行,再次检查文件是否为空。我能做什么 public Form1() { InitializeComponent(); if(!File.Exists(mainFolder)) { Directory.CreateDirecto

我遇到的问题是,每次我运行代码时,“Titles.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
的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,因此您可以在每次运行时重新创建该文件

请多分享一些代码。我想你应该检查
选项卡标题
是否存在请多分享一些代码。我想你应该检查
选项卡标题
是否存在