如何覆盖一个文本文件中的数据?

25

可能是重复问题:
使用StreamWriter保存数据时为什么之前的数据仍然显示?

我有一个 WPF C# 应用程序,可以读写 .txt 文件,我知道如何写入新行,但如何覆盖文件中已有的文本呢?下面是我目前只能用来写入新行的代码,但我希望能够覆盖原有的行而不仅仅是写入下一行,谢谢。

using (StreamWriter newTask = new StreamWriter("test.txt", true)) 
{
    newTask.WriteLine(name[i].ToString());    
}

2
你想覆盖整个文件还是只覆盖顶部的行? - DaveShaw
2个回答

65

你需要将第二个参数更改为false:

using (StreamWriter newTask = new StreamWriter("test.txt", false)){ 
        newTask.WriteLine(name[i].ToString());
}

3
如果你的目标是替换文件中的全部内容,新内容比旧内容少行,那么整个文件会被覆盖吗?还是旧文件中剩余的行仍然存在? - Chris
3
它将替换整个文件。 - Ryan Gross

12

你将true作为append参数传递。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接