从Java 1.7开始,有一种方法可以在不添加其他库的情况下查看目录。在Oracle网站上有一些教程如何使用WatchService http://docs.oracle.com/javase/tutorial/essential/io/notification.html#try,但这对我来说是非常难以理解的。没有合适的例子如何使用它。
因此有人会告诉我如何添加监听器到目录并调用方法,例如:f()
当文件被添加到目录时,让我们说:“。/ folder”?
答案 0 :(得分:1)
每次在监视文件夹中创建文件时,都会调用此段代码:
Path path = new File("./folder").toPath();
WatchService watchService = FileSystems.getDefault().newWatchService();
path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE);
for (;;) {
try {
WatchKey key = watchService.take();
for (WatchEvent<?> event : key.pollEvents()) {
WatchEvent.Kind<?> kind = event.kind();
if (kind.equals(StandardWatchEventKinds.ENTRY_CREATE)) {
System.out.println("file created");
}
}
} catch (InterruptedException x) {
return;
}
}