0

我正在实现一个 WatchDog 以递归方式查找文件更改、删除和添加到目录中,我使用的是 linux。该程序运行良好,使用 Java7 执行此操作非常简单,唯一的问题是当我添加一个包含一些文件的目录时,我无法监控所有包含文件的添加。我认为问题在于,当我添加一个新目录时,WatchDog 必须将其注册到 WatchService,同时添加的一些文件会丢失(通常是一两个)。WatchDog 是一个线程,它将每个 updateEvent 放入一个由另一个线程读取的阻塞队列中。

这是看门狗: http: //pastebin.com/q5SW0iJF

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

谢谢

4

1 回答 1

1

也许您应该考虑 Java 7 WatchService API?它将节省您重新发明轮子的时间。

于 2012-08-08T08:39:26.673 回答