Java使用WatchService时如何获取文件名?
package org.nhooo.example.io;
import java.io.IOException;
import java.nio.file.*;
import static java.nio.file.StandardWatchEventKinds.*;
public class WatchServiceGetFilename {
public static void main(String[] args) {
try {
//创建一个WatchService并将logDir路径注册到
//观看ENTRY_CREATE的服务。
WatchService watcher = FileSystems.getDefault().newWatchService();
Path logDir = Paths.get("/Users/nhooo/temp");
logDir.register(watcher, ENTRY_CREATE);
while (true) {
WatchKey key;
try {
key = watcher.take();
} catch (InterruptedException e) {
return;
}
for (WatchEvent<?> event : key.pollEvents()) {
if (event.kind() == ENTRY_CREATE) {
//获取创建文件的名称。
WatchEvent<Path> ev = cast(event);
Path filename = ev.context();
System.out.printf("A new file %s was created.%n",
filename.getFileName());
}
}
key.reset();
}
} catch (IOException e) {
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
private static <T> WatchEvent<T> cast(WatchEvent<?> event) {
return (WatchEvent<T>)event;
}
}
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短