您的位置:首页 > 运维架构

使用WatchService监控指定目录内的文件的改动

2015-08-02 00:19 302 查看
package coin;

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.StandardWatchEventKinds;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;

/**
* 如果指定的目录内的文件发生改变,则会打印语句。
* 监控指定目录下文件的改动。
* @author wrpc
*
*/
public class WatchServiceDemo {

public static void main(String[] args) {

boolean shutdown = false;
try {
WatchService watcher = FileSystems.getDefault().newWatchService();

Path dir = FileSystems.getDefault().getPath("C:\\workspace\\demo\\src");
WatchKey key = dir.register(watcher, StandardWatchEventKinds.ENTRY_MODIFY);

while(!shutdown) {
          key = watcher.take();
for (WatchEvent<?> event : key.pollEvents()) {
if(event.kind() == StandardWatchEventKinds.ENTRY_MODIFY) {
System.out.println("Home dir changed.");
}
}
key.reset();
}
} catch (IOException e) {
e.printStackTrace();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: