首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从上次修改后获取添加的文件内容

如何从上次修改后获取添加的文件内容
EN

Stack Overflow用户
提问于 2017-03-21 03:34:44
回答 2查看 189关注 0票数 0

我正在致力于戈朗的一个项目,该项目需要索引最近添加的文件内容(使用名为bleve的框架),并且我正在寻找一个解决方案,以便从上次修改后获取文件的内容。我目前的工作是记录每个文件的最后一个索引位置,在以后的索引过程中,我只从前面记录的位置开始检索文件内容。

所以我想知道这里是否有库或内置功能?(不需要被限制去,任何语言都可以工作)

如果有人有比我的工作更好的主意,我会很感激的。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-21 06:17:20

这取决于文件的变化情况。

如果文件是仅附加的,那么您只需要记录停止索引的最后一个偏移量,然后从那里开始。

如果这些更改可以在任何地方发生,并且这些更改主要是用新字节替换旧字节(比如更改图像的像素),那么也许可以考虑计算小块的校验和,并且只对具有不同校验和的块进行索引。

您可以在Go标准库中检出用于计算散列的crypto包。

如果更改是插入/删除文本文件(如对源代码的更改),则可能使用diff算法可以帮助您找到差异。有点像https://github.com/octavore/delta

票数 0
EN

Stack Overflow用户

发布于 2017-03-21 06:05:18

如果您在类似Unix的系统中运行,只需使用tail即可。如果指定遵循该文件,则在到达文件结束后,进程将继续等待。您可以使用os/exec在您的程序中调用它,并将Stdout管道输送到您的程序中。然后,您的程序可以定期地或阻塞地从其中读取。

我唯一能想到的在Go中做这件事的方法就是你所描述的。还有一个库试图在Go中模仿tailhttps://github.com/hpcloud/tail

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42917966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档