【发布时间】:2011-02-11 07:59:32
【问题描述】:
如何使用 C# 清除文本文件的内容?
【问题讨论】:
-
如果文件不存在,你要
FileNotFoundException吗? -
var fileStream = File.Open("path", FileMode.Open); fileStream.SetLength(0);
如何使用 C# 清除文本文件的内容?
【问题讨论】:
FileNotFoundException吗?
File.WriteAllText(path, String.Empty);
或者,
File.Create(path).Close();
【讨论】:
只需打开带有FileMode.Truncate 标志的文件,然后将其关闭:
using (var fs = new FileStream(@"C:\path\to\file", FileMode.Truncate))
{
}
【讨论】:
using (FileStream fs = File.Create(path))
{
}
将创建或覆盖文件。
【讨论】:
using 语句与.Close() 相比没有优势。
另一个简短的版本:
System.IO.File.WriteAllBytes(path, new byte[0]);
【讨论】:
您可以像在文件中写入内容一样清除文件的内容,但将文本替换为“”
File.WriteAllText(@"FilePath", "");
【讨论】:
当 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();
}
【讨论】:
您可以始终使用流式写入器。它会删除旧数据并每次添加新数据。
using (StreamWriter sw = new StreamWriter(filePath))
{
getNumberOfControls(frm1,sw);
}
【讨论】: