3

ディレクトリを監視するためにJDK 7のWatchServiceを使用しています。

このENTRY_DELETEイベントは、エントリが削除されたことを示しています。次のようなことを行って、そのエントリの名前を取得できます。

WatchEvent<Path> ev = cast(event);
Path name = ev.context();
Path child = dir.resolve(name);

削除されたエントリがファイルかフォルダかを知りたいです。当然、試してみchild.isDirectory()ましたが、要素がもう存在しないため、もちろんうまくいきませんでした。

ヒューリスティックを使わずに、削除された要素がファイルかディレクトリかを判断する方法はありますか?

4

1 に答える 1

1

残念ながら、WatchService はネイティブ OS のファイル イベント サービスの上に構築されているため、ネイティブ サービスが提供する情報によって制限されます。Linux のinotifyは削除されたファイル システム オブジェクトの種類を示しますが、Microsoft のFileSystemWatcherは単に名前を示します。

于 2010-07-08T22:23:08.053 に答える