C#如何在不重写文件的情况下向文本文件中添加文本?

6

假设我有以下代码:

StreamWriter sw = new StreamWriter(File.OpenWrite(Path));
sw.Write("Some stuff here");
sw.Dispose();

这段代码会用"Some stuff here"替换文件内容,但是我想要在不替换原有文本的情况下添加新文本。应该怎样做?

6个回答

8
你可以使用File.AppendAllText方法,代替你所用的三行代码:
File.AppendAllText(Path, "blah");

这样做,您就不必担心流和处理它们(即使出现异常,顺便说一下,您没有正确处理),代码非常简单明了。

5
您需要告诉 StreamWriter 您想要追加内容:
var sw = new StreamWriter(path, true);

File.OpenWrite不支持追加。


4

1

有一个StreamWriter构造函数,它接受一个布尔值作为第二个参数,如果为true,则指示写入器进行追加。


1

0

要将文本追加到文件中,您可以使用 FileMode.Append 打开它。

StreamWriter sw = new StreamWriter(File.Open(Path, System.IO.FileMode.Append));

这只是其中一种方法。虽然,如果您不需要明确使用StreamWriter对象,我建议使用其他人建议的方式:File.AppendAllText


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