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

How to write to an existing txt file c#

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

string example = "test";
WriteToLgo(example);

public static void WriteToLog(String inputtext)
{
   string location= @"C:\Users\";
   string NameOfFile = "test.txt";
   string fileName= String.Format("{0:yyyy-MM-dd}__{1}", DateTime.Now, NameOfFile);
   string path= Path.Combine(location, fileName);
   using (StreamWriter sr= File.CreateText(path))
   {
      sr.WriteLine(inputtext);
   }
}

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

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

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

MSDN

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

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

类似于:

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

如果你使用基础 StreamWriter class 而不是 File.AppendText 你可以像 StreamWriter sr = new StreamWriter(path, true);但是,您必须在打开文件进行追加之前检查该文件是否存在。可能会根据您的情况推荐 File.AppendText。