我有一个一直运行的服务,并保存一个日志文件.它基本上每隔几秒就会在日志文件中添加新行.我写了一个小文件,它读取这些行,然后将它们解析为各种动作.我的问题是如何删除我已经从日志文件中解析的行而不中断服务写入日志文件?
通常当我需要删除文件中的一行时,我打开原始的一行和一个临时的行,然后我只是将所有行写入临时文件,除了我要删除的原始文件.显然这种方法不会在这里说.
那么我该如何删除它们呢?
我不确定,但我是这样想的: New Line 是一个字符,所以你必须删除该行的字符 + New Line char 顺便说一句,“移动”所有字符回来(以覆盖旧行) ,就像将每个字符复制到不同的位置,然后将它们从旧位置删除
所以不,我认为你不能只删除一行,你应该重写所有文件。