【发布时间】:2012-03-22 12:14:09
【问题描述】:
假设我有以下代码:
StreamWriter sw = new StreamWriter(File.OpenWrite(Path));
sw.Write("Some stuff here");
sw.Dispose();
此代码将文件的内容替换为“这里有一些东西”,但是我想向文件添加文本而不是替换文本。我该怎么做?
【问题讨论】:
标签: c# file filestream streamwriter
假设我有以下代码:
StreamWriter sw = new StreamWriter(File.OpenWrite(Path));
sw.Write("Some stuff here");
sw.Dispose();
此代码将文件的内容替换为“这里有一些东西”,但是我想向文件添加文本而不是替换文本。我该怎么做?
【问题讨论】:
标签: c# file filestream streamwriter
【讨论】:
您可以使用 File.AppendAllText 方法并将您拥有的 3 行代码替换为:
File.AppendAllText(Path, "blah");
这样您就不必担心流和处理它们(即使在发生异常的情况下,顺便说一下您没有正确执行),并且代码非常简单明了。
【讨论】:
有一个 StreamWriter 构造函数,它以 bool 作为第二个参数,如果为 true,则指示 writer 追加。
【讨论】:
查看 System.IO.File.AppendAllText
http://msdn.microsoft.com/en-us/library/ms143356.aspx
你可以做你想做的事
File.AppendAllText(path, text);
【讨论】:
使用append参数:
StreamWriter sw = new StreamWriter(Path, true);
【讨论】:
要将文本附加到文件,您可以使用FileMode.Append 打开它。
StreamWriter sw = new StreamWriter(File.Open(Path, System.IO.FileMode.Append));
这只是一种方法。虽然,如果您没有明确需要 StreamWriter 对象,我建议您使用其他人的建议:File.AppendAllText。
【讨论】: