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