ディレクトリの変更とそのサブディレクトリを監視したい。これを実行しようとしましWatchService
たが、ファイルがどのディレクトリから変更されたのかわかりません。から完全なパスを取得するにはどうすればよいWatchEvent
ですか?
4391 次
2 に答える
2
通常、ウォッチサービスを開始するときにファイルのディレクトリ名を指定します。これがどのように機能するかを示すチュートリアルです:
http://blogs.oracle.com/thejavatutorials/entry/watching_a_directory_for_changes
チュートリアルから:
Path dir = ...;
try {
WatchKey key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
}[.....]
通知を受け取ったとき:
//The filename is the context of the event.
WatchEvent<Path> ev = (WatchEvent<Path>)event;
Path filename = ev.context();
Path child = dir.resolve(filename);
于 2011-04-09T22:43:33.623 に答える
1
Spring を使用するユーザーの場合:
Spring 4.2では、 WatchServiceDirectoryScannerが導入されました。サブディレクトリの変更もキャッチできるようになりました。
于 2015-09-15T18:28:37.870 に答える