如何在txt文件中添加新行

Elf*_*foc 116 c# stream text-files winforms

我想在我的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();
Run Code Online (Sandbox Code Playgroud)

我想打开txt文件,添加一些文本,关闭它,然后点击一下后:打开date.txt,添加文本,然后再次关闭它.

所以我可以得到:

按下按钮:打开txt - >添加当前时间,然后关闭它.按下另一个按钮,txt打开 - >在同一行中添加文本"OK"或"NOT OK",然后再次关闭它.

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

2011-11-24 10:00:00 OK
2011-11-25 11:00:00 NOT OK
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*rco 240

你可以轻松地使用它

File.AppendAllText("date.txt", DateTime.Now.ToString());
Run Code Online (Sandbox Code Playgroud)

如果你需要换行

File.AppendAllText("date.txt", 
                   DateTime.Now.ToString() + Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)

无论如何你需要你的代码做到这一点:

TextWriter tw = new StreamWriter("date.txt", true);
Run Code Online (Sandbox Code Playgroud)

第二个参数告诉附加到文件.在这里
查看StreamWriter语法.

  • 如果你正在使用c#4(或更新的)编译器,你可以放置`new StreamWriter("date.txt",append:true)`以使意图更清晰一些. (10认同)

Ask*_*ken 19

没有新线:

File.AppendAllText("file.txt", DateTime.Now.ToString());
Run Code Online (Sandbox Code Playgroud)

然后在OK之后获得一个新行:

File.AppendAllText("file.txt", string.Format("{0}{1}", "OK", Environment.NewLine));
Run Code Online (Sandbox Code Playgroud)

  • 请使用`Environment.Newline`而不是`"\ r \n"` - 不是每个系统都同意新行如何工作:https://en.wikipedia.org/wiki/Newline#Representations (12认同)

kad*_*d81 9

为什么不通过一个方法调用来做到这一点:

File.AppendAllLines("file.txt", new[] { DateTime.Now.ToString() });
Run Code Online (Sandbox Code Playgroud)

这将为您做换行符,并允许您根据需要一次插入多行。