如何在txt文件中添加新行


129

我想将带有文本的新行添加到我的date.txt文件中,但是应用程序正在创建新的date.txt文件,而不是将其添加到现有的date.txt中。

TextWriter tw = new StreamWriter("date.txt");

// write a line of text to the file
tw.WriteLine(DateTime.Now);

// close the stream
tw.Close();

我想打开txt文件,添加一些文本,将其关闭,然后稍后单击以下内容:打开date.txt,添加文本,然后再次将其关闭。

这样我就可以得到:

按下按钮:txt打开->添加当前时间,然后将其关闭。按下另一个按钮,txt打开->在同一行中添加了文本“ OK”或“ NOT OK”,然后再次将其关闭。

所以我的txt文件看起来像这样:

2011-11-24 10:00:00 OK
2011-11-25 11:00:00 NOT OK

我怎样才能做到这一点?谢谢!

Answers:


262

您可以轻松地使用

File.AppendAllText("date.txt", DateTime.Now.ToString());

如果您需要换行

File.AppendAllText("date.txt", 
                   DateTime.Now.ToString() + Environment.NewLine);

无论如何,如果您需要代码,请执行以下操作:

TextWriter tw = new StreamWriter("date.txt", true);

第二个参数告诉追加到文件。在此处
检查StreamWriter语法。


12
如果您使用的是c#4(或更高版本)编译器,则可以new StreamWriter("date.txt", append:true)使意图更清晰一些。
坎普ͩ

21

没有新行:

File.AppendAllText("file.txt", DateTime.Now.ToString());

然后在确定后获得新行:

File.AppendAllText("file.txt", string.Format("{0}{1}", "OK", Environment.NewLine));

13
请使用Environment.Newline而不是"\r\n"-不是每个系统上如何换行的工作表示赞同:en.wikipedia.org/wiki/Newline#Representations
坎普ͩ

4

为什么不使用一种方法调用呢?

File.AppendAllLines("file.txt", new[] { DateTime.Now.ToString() });

这将为您做换行,并允许您一次插入多行。


我更喜欢这个,而不是公认的答案。您无需指定新行
twoleggedhorse

0
var Line = textBox1.Text + "," + textBox2.Text;

File.AppendAllText(@"C:\Documents\m2.txt", Line + Environment.NewLine);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.