我能够使用Jnotify
听事件文件cration,修改等等。我关心的是Jnotify是如何工作的。 我的意思是它使用得到事件。 它是安全的资源用途refrence使用。 -我在另一个SO问题阅读https://stackoverflow.com/questions/11100003/why-does-jnotify-consume-so-much-resources -它消耗大量的资源。
我可以解决我的问题的另一种方式是一个while循环,直到一个条件,那么程序被关闭。
这将是更好地使用消耗更少的资源。
内核linnotify会谈得到通知的文件系统的变化。 没有投票,内核通知上更改订阅的文件夹。
jnotify是围绕libjnotify JNI封装。
不过,如果你使用的是Java 7,所有这些都是历史,新的Java文件I / O(NIO.2)包替代。
从现场 ...
JNotify Linux支持
JNotify Linux的API是围绕Linux的inotify的API瘦包装。 由于Linux的inotify API不支持目录递归听,JNotify通过createing的inotify的手表上的监控目录(透明)下的每个子目录添加此功能。 这个过程需要时间其是直到树中的目录被递归地观看的数目,且需要系统资源,即 - 的inotify手表,其是有限的,在默认情况下每进程8192只手表。
这些限制都记录。 还提供了有关实施的想法。
你的问题是有关文件中更改监听器在Java中 ,高投答案有DefaultFileMonitor ,从Apache的百科全书。 我建议你给它一个尝试。