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