我创建了一些代码,用于创建带有初始文本的txt文件,但是当我尝试使用新的msg再次调用该方法时,它不会将其添加到txt文件中。以下是我的代码:
itemgetter
如果我尝试第二次调用该方法,则不会添加新的msg。任何帮助将不胜感激。
答案 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。