我正在尝试构建一个显示来自多个文件的日志的logViewer。我想在修改后立即显示文件中的新更改。我正在使用FileSystemWatcher来检测文件是否已更改。但我不知道如何检测我正在监视的文件中所做的更改。我在StackOverflow中看到了一些问题,但它们没有帮助。我该怎么做?
编辑: 我想要的只是获得已添加的行/行。如果除了使用FileSystemWatcher之外还有其他方法,我也可以。
答案 0 :(得分:2)
使用filesystemwatcher检测更改并使用上次读取位置获取新行并搜索文件。
答案 1 :(得分:1)
如果您希望以编程方式执行此操作,则需要同时具有以前的版本和当前版本。然后你必须以某种方式进行比较:逐个字母,逐字逐句等,然后从那里开始。
FileSystemWatcher仅检测是否发生了更改,但未检测到更改本身。
答案 2 :(得分:0)
除了FileSystemWatcher之外,您还可以使用文件系统过滤器驱动程序(非常有效地)解决您的任务。使用这样的驱动程序,您可以在制作它们之前(之前或之后)知道这些变化,并且您知道究竟是做了什么。
如果您有内核模式开发经验或使用我们的CallbackFilter产品,您可以自己编写过滤器,尽管后者对您的需求来说太过分了。