2012-08-08 47 views
0

我正在实现一个WatchDog递归查看文件更改,删除和添加目录,我使用的是Linux。该程序运行良好,使用Java7进行操作非常简单,唯一的一点是,当我添加一个带有一些文件的目录时,我无法监视所有包含文件的添加。我认为问题在于,当我添加一个新目录时,WatchDog必须将其注册到WatchService,同时添加的某些文件会丢失(通常是一个或两个)。 WatchDog是一个线程,它将每个updateEvent放入另一个线程读取的blockingQueue中。Java7:创建新的非空目录时检测所有文件

这里的日式看门狗:http://pastebin.com/q5SW0iJF

任何人都经历了同样的问题,如果是,你是怎么解决的?

谢谢

回答

1

也许你应该考虑Java 7 WatchService API?它可以帮助您重新发明轮子。

+0

?我使用的是,我的课只是轮询WatchService以查看新事件。问题在于WatchService必须在目录上注册才能在其上查找事件。如果我不明白答案,请解释。谢谢 – Perennialista 2012-08-08 09:53:05

相关问题