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

Posted

技术标签:

【中文标题】使用 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# 清除文本文件的内容的主要内容,如果未能解决你的问题,请参考以下文章

使用php清除文本文件的内容

C# 自动清除 Winform 文本框

c# textbox 按下回车清除文本内容

C#中,怎么使用富文本框控件显示一个文件的内容

第一章 C#入门 (Windows窗体应用程序)

C#往文件中追加文本内容信息