watchKey
特定のフォルダー内のファイルの変更をリッスンするために使用しています。
Path _directotyToWatch = Paths.get("E:/Raja");
WatchService watcherSvc = FileSystems.getDefault().newWatchService();
WatchKey watchKey = _directotyToWatch.register(watcherSvc, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
while (true) {
watchKey=watcherSvc.take();
for (WatchEvent<?> event: watchKey.pollEvents()) {
WatchEvent<Path> watchEvent = castEvent(event);
System.out.println(event.kind().name().toString() + " " + _directotyToWatch.resolve(watchEvent.context()));
watchKey.reset();
}
}
それは私にとってはうまくいきます。raja フォルダー内のファイルを変更すると、ファイル名とパスが表示されます。しかし、「E:/Raja/Test」のようなサブフォルダーにいくつかのファイルを配置すると、ファイル名ではなく、配置したパスのみが表示されます。
ファイル名を取得するには?