写入Scheme中的文件开头

时间:2014-02-22 12:54:48

标签: file logging io racket

我想在Scheme中创建一个日志文件,但每次添加一个新条目时,我希望它位于文件的开头,所以当我再次从文件中读取X个日志时,它会读取X从新到旧的最新条目。

示例:

22/02/14 13:50最新日志条目

22/02/14 13:45较旧的日志条目

22/02/14 13:40最早的日志条目

有没有人知道如何使用'open-input-file'和'open-output-file'程序?

1 个答案:

答案 0 :(得分:1)

您要求的功能是每次需要编写新条目时都需要编写整个日志文件,因为您将使用下一个条目覆盖上一个第一个条目。通常程序不保留日志文件的提交部分,因此这会引入更多的内存使用,并且程序必须知道何时轮换日志以清除缓冲区。

标准方法是附加一个新条目,该条目将前一个日志条目留在上一个日志写入的位置。

作为折衷方案,您可能会寻找一个以相反的顺序显示日志文件的程序,并且也可能会这样做。它很容易实现,所以我猜它已经存在了。编写这样一个应用程序(如果它不存在)将是微不足道的。