C# 如何在文本文件中添加数据而不清除原来的内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 如何在文本文件中添加数据而不清除原来的内容?相关的知识,希望对你有一定的参考价值。

string s = "C:\\hero.txt";
StreamWriter sw = new StreamWriter(@s);
sw.Write(translate(this.textBox1.Text));
sw.Flush();
sw.Close();上面的代码保存过后,文件中原来的内容就清空了如何让往文本框中添加内容,而去清空原来的内容呢?

从MSDN可查到StreamWriter的构造函数public StreamWriter( string path, bool append)所以 string s = "C:\\hero.txt";
StreamWriter sw = new StreamWriter(@s,true);//true表示追加
sw.Write(translate(this.textBox1.Text));
sw.Flush();
sw.Close();
参考技术A 文本框里面追加文本:textbox1.Text+="abc";就会在文本框里面多出一个abc出来文本文件里面追加文本:File.AppendText("路径","内容");,它会在你指定的文件后面追加你指定的内容 参考技术B StreamWriter sw = File.AppendText("C:\\hero.txt");
sw.WriteLine(textBox1.Text);
sw.Close();
参考技术C str="等于你存储内容的变量"textbox1.text=textbox1.text+str 参考技术D 这样写:
StreamWriter sw = new StreamWriter(@s,true);
即可

使用 C# 清除文本文件的内容

【中文标题】使用 C# 清除文本文件的内容【英文标题】:Clearing content of text file using C# 【发布时间】:2011-02-11 07:59:32 【问题描述】:

如何?

【问题讨论】:

如果文件不存在,你要FileNotFoundException吗? var fileStream = File.Open("path", FileMode.Open); fileStream.SetLength(0); 【参考方案1】:
File.WriteAllText(path, String.Empty);

或者,

File.Create(path).Close();

【讨论】:

哇,比我的还短! +1 比你的“短”是什么意思? @F4z:字符少得多。【参考方案2】:

只需打开带有FileMode.Truncate 标志的文件,然后将其关闭:

using (var fs = new FileStream(@"C:\path\to\file", FileMode.Truncate))


【讨论】:

【参考方案3】:
 using (FileStream fs = File.Create(path))
 

 

将创建或覆盖文件。

【讨论】:

由于块中没有代码,using 语句与.Close() 相比没有优势。 我假设他会处理文件。【参考方案4】:

另一个简短的版本:

System.IO.File.WriteAllBytes(path, new byte[0]);

【讨论】:

【参考方案5】:

您可以像在文件中写入内容一样清除文件的内容,但将文本替换为“”

File.WriteAllText(@"FilePath", "");

【讨论】:

【参考方案6】:

当 StreamWriter 中的 append 设置为 false 时,只需写入文件 string.Empty。我认为这对初学者来说最容易理解。

private void ClearFile()

    if (!File.Exists("TextFile.txt"))
        File.Create("TextFile.txt");

    TextWriter tw = new StreamWriter("TextFile.txt", false);
    tw.Write(string.Empty);
    tw.Close();

【讨论】:

【参考方案7】:

您可以始终使用流式写入器。它会删除旧数据并每次添加新数据。

using (StreamWriter sw = new StreamWriter(filePath))
                            
    getNumberOfControls(frm1,sw);

【讨论】:

以上是关于C# 如何在文本文件中添加数据而不清除原来的内容?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 kotlin 的 Recycler View Adapter 中添加更多数据列表而不清除先前的数据?

C#如何在一个窗体显示另一个窗体的文本内容

添加到 innerHTML 而不破坏表单内容

Qt中如何将信息保存到文本文件并且保留原来的信息,比如在原来的文本文件中添加一行信息。

如何在按钮单击时将新行添加到数据库中的jTable而不清除现有行

如何在C#中写Excel文件