2012-03-04 114 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