是否有一个复杂的Java文件系统监视器,它是免费软件还是开源软件?

Dan*_*ski 25 java file-monitoring

我正在寻找一个可以通知我文件系统更改的Java库.

我发现了一些免费的库,但它们都使用强力检测,即定期轮询.而其他的总是商业化的.

我正在寻找的是一个使用来自操作系统的文件监视器功能的库,即 用于Win32的FindFirstChangeNotification,用于Linux的FAM以及其他操作系统上可用的任何功能.我不介意使用暴力作为后备,但对于Windows和Linux,它应该使用可用的操作系统功能.

Bri*_*new 25

JNotify似乎可以满足您的需求.

轮询文件系统(例如,更新时间更改的目录)不会对系统造成重大负载,也不应打折扣.像Tomcat等应用程序使用它来管理热部署,几乎没有问题.

现在它并没有太多的帮助,但即将推出的Java 7 正是为此准备了WatchService.


Stu*_*son 7

如果您愿意在Java的前沿工作,请查看JSR 203:更多新的I/O API,即nio2,它将在Java 7中发布.

一个新的文件系统接口,支持批量访问文件属性,更改通知,转义到特定于文件系统的API,以及用于可插入文件系统实现的服务提供者接口;


小智 6

jpathwatch是另一种选择.它实现了Java 7的目录监控API,因此如果需要,可以轻松移植到Java 7.