将文本导出到文件,最新文本作为文本文件的第一行 - C#

时间:2013-02-07 15:07:03

标签: c#

我正在尝试将字符串导出到带有时间戳的文本文件中。我正在使用File.AppendAllText(“C:\ list.txt”,text);制作文本文件。问题在于 - 第一次运行将保存文本,任何后续运行都会将文本放在第一个运行文本下面。我希望它像最新的文本一样在最顶层,因为我希望最新的时间戳位于顶部。

感谢 斯

3 个答案:

答案 0 :(得分:1)

将文本添加到文件的开头是一项非常昂贵的操作。基本上你需要读取整个文件,然后用添加的文本将其写回来,因此文件越大,文件就会越来越慢。

如果您想先显示最新项目,请在显示文件时进行反转。

答案 1 :(得分:0)

您需要先读取现有文件,然后将该文本附加到当前消息中。然后,您可以使用新日志覆盖整个文件。

但请注意,一旦文件大小增加,这将更有效。

答案 2 :(得分:0)

Void Method()
{
 string text = File.ReadAllText(@"c:\text.txt");

 string  NewText="This is new Text " + DateTime.Now.TimeOfDay;

 File.WriteAllText(@"c:\text.txt", NewText + Environment.NewLine  + text);

}