您的位置:首页 > 编程语言 > Java开发

java 实现监控某目录文件变化

2013-09-30 15:41 513 查看
commons-io-2.3.jar 中,有实现文件监控的类,在org.apache.commons.io.monitor包下,

主要包括 observer ,listener,monitor 含义你懂得滴,典型观察者模式,直接上代码:

listener:

public class ZJPFileListener implements FileAlterationListener{

ZJPFileMonitor monitor = null;
@Override
public void onStart(FileAlterationObserver observer) {
//System.out.println("onStart");
}
@Override
public void onDirectoryCreate(File directory) {
System.out.println("onDirectoryCreate:" +  directory.getName());
}

@Override
public void onDirectoryChange(File directory) {
System.out.println("onDirectoryChange:" + directory.getName());
}

@Override
public void onDirectoryDelete(File directory) {
System.out.println("onDirectoryDelete:" + directory.getName());
}

@Override
public void onFileCreate(File file) {
System.out.println("onFileCreate:" + file.getName());
}

@Override
public void onFileChange(File file) {
System.out.println("onFileCreate : " + file.getName());
}

@Override
public void onFileDelete(File file) {
System.out.println("onFileDelete :" + file.getName());
}

@Override
public void onStop(FileAlterationObserver observer) {
//System.out.println("onStop");
}

}

monitor

public class ZJPFileMonitor {

FileAlterationMonitor monitor = null;
public ZJPFileMonitor(long interval) throws Exception {
monitor = new FileAlterationMonitor(interval);
}

public void monitor(String path, FileAlterationListener listener) {
FileAlterationObserver observer = new FileAlterationObserver(new File(path));
monitor.addObserver(observer);
observer.addListener(listener);
}
public void stop() throws Exception{
monitor.stop();
}
public void start() throws Exception {
monitor.start();
}
public static void main(String[] args) throws Exception {
ZJPFileMonitor m = new ZJPFileMonitor(5000);
m.monitor("E:\\filepath",new ZJPFileListener());
m.start();
}


启动后,每5秒扫描指定路径下文件的变化,很方便
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java