在 Java 中检测文件修改的最有效方法是什么?
我读过有关文件轮询的内容,但是,轮询方法有许多缺点,随着监视文件数量的增加,这些缺点变得越来越明显。我宁愿不使用轮询,但许多在线解决方案似乎都将文件轮询作为推荐的方法。我希望有一个与操作系统相关的文件系统更新回调解决方案——这在 Linux 和 Windows 中都可能吗?
鉴于我目前只打算“观看”2 个文件,我仍然对文件轮询解决方案持开放态度。理想情况下,我希望文件轮询不会对性能产生很大影响。
我知道 Java 7 的 WatchService,但由于 7 尚未正式发布,我对使用该方法或 JNI 库犹豫不决。
非常感激!
编辑:看来文件轮询是可行的方法。如果有人可以推荐最安全/有效的方法来实现文件轮询,那就太好了。
这里有两个可用的库:
- http://jpoller.sourceforge.net/ http://jpoller.sourceforge.net/
- http://jnotify.sourceforge.net/ http://jnotify.sourceforge.net/
Java 7 NIO2 http://blogs.oracle.com/thejavatutorials/entry/watching_a_directory_for_changes可能还有一些适合您的东西(我不知道这些功能目前是否在 Java 7 的范围内)也可以作为JSR 203 http://java.sun.com/developer/technicalArticles/javase/nio/ see here http://openjdk.java.net/projects/nio/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)