问题

我希望在文件系统中更改文件时收到通知。我找到的只是一个调查lastModified File属性的线程,显然这个解决方案不是最优的。


#1 热门回答(106 赞)

我以前写了一个日志文件监视器,我发现轮询单个文件的属性(每秒几次)对系统性能的影响实际上非常小。

Java 7作为NIO.2的一部分添加了WatchService API

WatchService API专为需要通知文件更改事件的应用程序而设计。


#2 热门回答(39 赞)

我使用Apache Commons的VFS API,这是一个如何监视文件而不会对性能产生太大影响的示例:
DefaultFileMonitor


#3 热门回答(27 赞)

有一个名为jnotify的lib,它包含了inotify,并且还支持windows。从来没有使用它,我不知道它有多好,但值得一试,我会说。


原文链接