如何检测文件中的新更改

本文关键字:文件 新更改 检测 何检测 | 更新日期: 2023-09-27 18:09:37

我试图建立一个logViewer显示多个文件的日志。我想在文件被修改后立即显示新的更改。我正在使用FileSystemWatcher来检测文件是否已被更改。但是我不确定如何检测我正在监视的文件中所做的更改。我在StackOverflow上看到了一些问题,但它们没有帮助。我该怎么做呢?

编辑:我想要的只是得到已添加的一行/几行。如果有任何方法,而不是使用FileSystemWatcher,我也很好。

如何检测文件中的新更改

使用filesystemwatcher来检测更改并使用最后读位置获取新行,并查找文件。

https://stackoverflow.com/a/19230599/1583653

如果您希望以编程方式完成此操作,则需要同时拥有以前的版本和当前版本。然后你必须以某种方式进行比较:一个字母一个字母,一个单词一个单词,等等,然后从那里开始。

FileSystemWatcher只检测是否发生了更改,它不检测更改本身。

除了FileSystemWatcher之外,还可以使用文件系统过滤器驱动程序(相当有效地)解决您的任务。有了这样的驱动程序,您将知道更改的正确时间(之前或之后),并且您知道具体做了什么。

如果你有内核模式开发的经验,或者使用我们的CallbackFilter产品,你可以自己编写一个过滤器,尽管后者对于你的需求来说是多余的。