如何从Windows检测对文件的更改?

如何从Windows检测对文件的更改?,windows,Windows,我希望跟踪目录中文件的更改,并在更改时通知web服务 在Mac电脑上,我知道我可以做出反应,比如创建、修改等等 在Windows中执行此操作的最佳方法是什么? 你建议用哪种语言?(我将为它构建一个基本的UI)。本机(C++/C)API是。在.Net(C#等)中,这是封装在类中的。C#更易于编程,该URL中有一些示例代码 这些API都会偶尔发生遗漏事件。我知道没有解决这个问题的办法,没有任何简单的选择。如果您的目录没有经常更改,它可能会对您正常工作。C#有一个类System.IO.FileSyst

我希望跟踪目录中文件的更改,并在更改时通知web服务

在Mac电脑上,我知道我可以做出反应,比如创建、修改等等

在Windows中执行此操作的最佳方法是什么? 你建议用哪种语言?(我将为它构建一个基本的UI)。

本机(C++/C)API是。在.Net(C#等)中,这是封装在类中的。C#更易于编程,该URL中有一些示例代码


这些API都会偶尔发生遗漏事件。我知道没有解决这个问题的办法,没有任何简单的选择。如果您的目录没有经常更改,它可能会对您正常工作。

C#有一个类
System.IO.FileSystemWatcher
,它可能会执行您想要的操作。更多细节。对于C++,参见.p/> java,可以使用<强>监视服务< /强>来检测特定文件或目录中发生的事件类型。 实现很简单,因为您只需从文件系统获取WatchService,如下所示:

1-获取WatchService:WatchService WatchService=FileSystems.getDefault().newWatchService()

2-使用文件中的WatchService:

文件位置。注册(watchService、StandardWatchEventTypes.条目修改、StandardWatchEventTypes.条目删除、StandardWatchEventTypes.条目创建)

毕竟,您可以看到文件中发生的所有类型的事件,如上图所示:StandardWatchEventKinds.ENTRY\u MODIFY,这意味着您的文件已被修改

有关更多详细信息,请查看以下链接:


谢谢你的回答,克里斯,以及对另一个问题的提及。