3

WatchServiceNIOを使用しています。特定のディレクトリを監視する 2 つのクラス (Ubuntu 11.10)。

たとえば、既存のファイルを変更するなど、変更が加えられるたびに、MODIFIEDイベントが 2 回発生します。なぜかわからない?新しいファイルを作成するとうまくいきます。

4

3 に答える 3

6

私はそれに対する解決策を見つけました。ファイルシステムが新しいファイルを書き込むとき、ゼロバイトで作成し、作成イベントを起動し、データを and ファイルに書き込み、次に変更イベントを起動するため、2 つの変更イベントを起動します。

同じことが変更にも当てはまります。既存のファイルを変更する場合、ファイルシステムは最初に 0 バイトでファイルを作成し、変更イベントを発生させてからデータを書き込みます。次に、変更イベントを再度発生させます。そのため、2 つの変更イベントを受け取っていました。

于 2012-10-19T10:19:06.433 に答える
1

私はOracleの例を使用しましたが、奇妙なことに、 ENTRY_MODIFYを2回起動することもあれば、1回起動することもあります。Windowsマシンを使用しています。

ドキュメントには、重複する可能性のあるイベントに関する情報がないため、文書化されていない動作またはバグのいずれかであると思います。

于 2012-09-10T09:01:10.623 に答える