Java 7 と WatchService を使用して、フォルダーが (別の場所からコピーされて) フォルダーに追加されるタイミングを監視しようとしています。次に、新しく作成されたフォルダー内のファイルを処理したいと考えています。
OSX では、期待どおりに動作します。フォルダーとその内容がコピーされるまで、新しいフォルダーの作成の通知を受け取りません。しかし、Windows では、フォルダーの内容がコピーされる前に、フォルダーの作成時にキー イベントを受け取るため、フォルダー内のファイルを処理しようとすると、通常は最初のファイルだけが存在します。
私の現在の回避策は、フォルダー通知を受け取った後、10 秒間スリープして、その中のファイルがコピーされるのを待つことですが、フォルダーのサイズがかなり異なる可能性があるため、これはあまり満足のいくものではありません。ほとんどの時間。
OSX と Windows の違いはなぜですか? Windows で問題を解決するにはどうすればよいですか?