用于创建/删除/等的Java文件夹监视器?

问题描述:

有没有一种方法来监视java中的文件夹,以查看它们何时更新,即文件的创建,删除,重命名等。还有什么办法可以设置它只查找以某个前缀开头的文件,即img?用于创建/删除/等的Java文件夹监视器?

在Java 7中,有一个WatchService API作为NIO2的一部分。对于较早的Java版本,除了手动轮询之外,没有纯粹的Java解决方案。

+1

我最近重新实现我工作,当我问到这个问题最初的代码。 NIO2的WatchService是一个非常整洁且易于使用的方法。强烈建议将来在阅读这个问题时将它用于任何人。 – pie154 2011-10-19 10:53:51

+0

你能否给我提供一些很好的链接,我正在用java 5开发这个...正如你所说的那样可以通过手动轮询来完成 – 2012-01-16 07:10:38

请参阅my answer到类似的问题。

详细的机制不会过滤文件名/类型。您必须在建议的解决方案旁边执行此操作。

您可以使用inotify-java API提供基于事件的机制,以使用glibc(版本2.4及更高版本)提供的inotify接口和2.6.13开始的Linux内核来监视Linux文件系统事件。 特点 简单,易于使用的inotify的 低内存占用API功能的完整支持使用阻塞调用产生低CPU使用率