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