如何在Java中接收Windows文件系统事件?

Jar*_*red 7 java windows filesystems

我需要知道新文件何时出现在目录中.显然,我可以定期轮询文件系统,但这具有轮询机制的所有正常缺点.

我知道Windows支持文件系统事件,并且该项目已经被其他要求限制在Windows平台上.

有没有人有经验在JVM中接收Windows文件系统事件?如果是这样,您使用的最佳实践,模式和/或库是什么?

一个快速的谷歌出现了这个库.有没有人有他们愿意分享的经验(或任何其他)?

Bri*_*ian 7

我认为这是Java 7更具可用性的关键特性之一.来自Sun的Java 7博客的示例代码:

import static java.nio.file.StandardWatchEventKind.*;

Path dir = ...;
try {
    WatchKey key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
} catch (IOException x) {
    System.err.println(x);
}
Run Code Online (Sandbox Code Playgroud)