WatchService
NIOを使用しています。特定のディレクトリを監視する 2 つのクラス (Ubuntu 11.10)。
たとえば、既存のファイルを変更するなど、変更が加えられるたびに、MODIFIED
イベントが 2 回発生します。なぜかわからない?新しいファイルを作成するとうまくいきます。
WatchService
NIOを使用しています。特定のディレクトリを監視する 2 つのクラス (Ubuntu 11.10)。
たとえば、既存のファイルを変更するなど、変更が加えられるたびに、MODIFIED
イベントが 2 回発生します。なぜかわからない?新しいファイルを作成するとうまくいきます。
私はそれに対する解決策を見つけました。ファイルシステムが新しいファイルを書き込むとき、ゼロバイトで作成し、作成イベントを起動し、データを and ファイルに書き込み、次に変更イベントを起動するため、2 つの変更イベントを起動します。
同じことが変更にも当てはまります。既存のファイルを変更する場合、ファイルシステムは最初に 0 バイトでファイルを作成し、変更イベントを発生させてからデータを書き込みます。次に、変更イベントを再度発生させます。そのため、2 つの変更イベントを受け取っていました。
私はOracleの例を使用しましたが、奇妙なことに、 ENTRY_MODIFYを2回起動することもあれば、1回起動することもあります。Windowsマシンを使用しています。
ドキュメントには、重複する可能性のあるイベントに関する情報がないため、文書化されていない動作またはバグのいずれかであると思います。