0

私はWatchDogを実装して、ファイルの変更、削除、およびディレクトリへの追加を再帰的に探しています。Linuxを使用しています。プログラムはうまく機能し、Java7でそれを行うのは非常に簡単です。唯一のことは、いくつかのファイルを含むディレクトリを追加すると、含まれているすべてのファイルの追加を監視できないことです。問題は、新しいディレクトリを追加するときに、WatchDogがそれをWatchServiceに登録する必要があり、その間に追加されたファイルの一部(通常は1つまたは2つ)が失われることだと思います。WatchDogは、すべてのupdateEventを別のスレッドによって読み取られるblockingQueueに配置するスレッドです。

これがWatchDogです:http://pastebin.com/q5SW0iJF

誰かが同じ問題を経験したことがありますか?もしそうなら、どのようにそれを解決しましたか?

ありがとう

4

1 に答える 1

1

おそらく、Java 7 WatchService APIを検討する必要がありますか?それはあなたが車輪の再発明をするのを節約するでしょう。

于 2012-08-08T08:39:26.673 に答える