我正在寻找一个Java库,该库可以通知我有关文件系统的更改。
我找到了一些免费的库,但是它们都使用暴力检测,即定期轮询。而其他的总是商业的。
我正在寻找的是一个使用操作系统中文件监视功能的库,即 Win32的FindFirstChangeNotification,Linux的FAM以及其他操作系统上可用的任何东西。我不介意是否将蛮力用作回退,但是对于Windows和Linux,它应该使用可用的OS功能。
JNotify似乎可以满足您的要求。
轮询文件系统(例如,用于更改更新时间的目录)不会对系统造成很大的负担,因此不应打折扣。像Tomcat这样的应用程序使用它来管理热部署几乎没有问题。
现在并没有太多帮助,但是即将推出的Java 7 正是为此提供了WatchService。