我正在尝试将字符串导出到带有时间戳的文本文件。我正在使用 File.AppendAllText("C:\list.txt", text); 制作文本文件。问题在于 - 第一次运行将保存文本,任何后续运行都会将文本放在第一次运行文本的下方。我希望它像最新的文本一样位于顶部,因为我希望最新的时间戳位于顶部。
谢谢斯里
我正在尝试将字符串导出到带有时间戳的文本文件。我正在使用 File.AppendAllText("C:\list.txt", text); 制作文本文件。问题在于 - 第一次运行将保存文本,任何后续运行都会将文本放在第一次运行文本的下方。我希望它像最新的文本一样位于顶部,因为我希望最新的时间戳位于顶部。
谢谢斯里
将文本添加到文件的开头是一项非常昂贵的操作。基本上,您需要读取整个文件,然后将其与添加的文本一起写回,因此文件越大,速度就越慢。
如果您想首先显示最新的项目,则在显示文件时进行反转。
您需要先阅读现有文件,然后将该文本附加到当前消息中。然后你可以用新的日志覆盖整个文件。
不过要小心,一旦文件大小增加,这将是更多的工作。
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);
}