2012-03-04 106 views
3

比方说,我有以下代码:C#将文本添加到文本文件而不重写它?

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

此代码替换文件的内容“有些东西在这里,”不过,我想文本添加到文件,而不是替换文本。我将如何做到这一点?

回答

5

你需要告诉你要追加StreamWriter

var sw = new StreamWriter(path, true); 

File.OpenWrite不支持追加。

3

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

File.AppendAllText(Path, "blah"); 

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

1

有一个StreamWriter构造函数,它将bool作为第二个参数,指示作者追加如果为true。

0

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

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

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