C#在不重写文本文件的情况下将文本添加到文本文件中

本文关键字:文本 文件 添加 情况下 重写 | 更新日期: 2023-09-27 18:26:34

假设我有以下代码:

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

这段代码将文件的内容替换为"Some stuff here",但是我希望文本添加到文件中,而不是替换文本。我该怎么做?

C#在不重写文本文件的情况下将文本添加到文本文件中

您可以使用File.AppendAllText方法,并将您拥有的3行代码替换为:

File.AppendAllText(Path, "blah");

这样,您就不必担心流和处理它们(即使是在发生异常的情况下,顺便说一句,您做得不好),而且代码非常简单明了。

您需要告诉要附加的StreamWriter

var sw = new StreamWriter(path, true);

File.OpenWrite不支持追加。

检查System.IO.File.AppendAllText

http://msdn.microsoft.com/en-us/library/ms143356.aspx

你可以做你想做的事,比如

File.AppendAllText(path, text);

有一个StreamWriter构造函数,它将bool作为第二个参数,指示编写器在为true时进行追加。

使用append参数:

StreamWriter sw = new StreamWriter(Path, true);

http://msdn.microsoft.com/en-us/library/36b035cb.aspx

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

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

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