如何写入现有的txt文件c#

时间:2018-04-27 18:34:33

标签: c# streamwriter

我创建了一些代码,用于创建带有初始文本的txt文件,但是当我尝试使用新的msg再次调用该方法时,它不会将其添加到txt文件中。以下是我的代码:

itemgetter

如果我尝试第二次调用该方法,则不会添加新的msg。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

您不应该使用File.CreateText,而应使用此StreamWriter重载:

//using append = true
using (StreamWriter sr = new StreamWriter(path, true))
{
    sr.WriteLine(inputtext);
}

请参阅MSDN

答案 1 :(得分:1)

File.CreateText每次只创建一个新文件,覆盖其中的任何内容。不附加到现有文件。

您应该使用File.AppendText(...)打开现有文件以附加内容,或使用基本StreamWriter类使用追加选项打开它

类似的东西:

using (StreamWriter sr = File.AppendText(path))
{
  sr.WriteLine(inputtext);
}

如果您使用基本StreamWriter类而不是File.AppendText,您可以像StreamWriter sr = new StreamWriter(path,true)一样使用它;但是,在打开文件以进行追加之前,您必须检查该文件是否存在。可能会在您的案例中推荐File.AppendText。