我想跟踪目录中文件的更改,并在它们发生更改时通知Web服务。
在Mac上,我知道我可以对file system events做出反应,比如创建它,修改它等等。
哪种在Windows中最好的方法? 您对此提供哪种语言建议? (我将为它构建一个基本的UI)。
答案 0 :(得分:4)
本机(C ++ / C)API为ReadDirectoryChangesW。在.Net(C#等)中,它封装在FileSystemWatcher类中。 C#更易于编程,该URL上有一些示例代码。
这些API都会偶尔发生错过事件。我所知道的没有解决方案,没有任何简单的选择。如果您的目录没有经常更改,它可能会对您有用。
答案 1 :(得分:4)
C#有一个类System.IO.FileSystemWatcher
,它可能会做你想要的。更多细节on the MDSN。对于C ++,请参阅this StackOverflow question。
答案 2 :(得分:0)
使用Java,我们可以使用 WatchService 来检测特定文件甚至目录中发生的事件的类型。
实现很容易,因为您可以按照以下方式从FileSystem获得WatchService:
1-获取WatchService: WatchService watchService = FileSystems.getDefault()。newWatchService();
2-在文件中使用WatchService:
FILE_LOCATION.register(watchService, StandardWatchEventKinds。 ENTRY_MODIFY , StandardWatchEventKinds。 ENTRY_DELETE , StandardWatchEventKinds。 ENTRY_CREATE )
毕竟,您可以看到文件中发生的所有上述类型的事件: StandardWatchEventKinds.ENTRY_MODIFY ,这意味着文件已被修改。
有关更多详细信息,请检查以下链接: