Java7:在创建新的非空目录时检测所有文件

时间:2012-08-08 08:36:39

标签: java java-7 watchservice

我正在实现一个WatchDog来递归查看文件更改,删除和添加目录,我正在使用linux。该程序运行良好,使用Java7非常简单,唯一的事情是当我添加一个包含一些文件的目录时,我无法监视添加所有包含的文件。我认为问题在于,当我添加一个新目录时,WatchDog必须将它注册到WatchService,同时添加的一些文件会丢失(通常是一两个)。 WatchDog是一个Thread,它将每个updateEvent放在一个由另一个Thread读取的blockingQueue中。

这是WatchDog:http://pastebin.com/q5SW0iJF

有没有人遇到过同样的问题,如果有,你是怎么解决的?

由于

1 个答案:

答案 0 :(得分:1)

也许您应该考虑Java 7 WatchService API?它会让你重新发明轮子。