java监听指定目录下文件、文件夹的创建、删除、改变
来源:互联网 发布:淘宝买ipad 编辑:程序博客网 时间:2024/06/02 03:41
java监听指定目录下文件、文件夹的创建、删除、改变
commons-io-2.0.1.jar下载地址:
http://repo1.maven.org/maven2/commons-io/commons-io/2.0.1/commons-io-2.0.1.jar
代码部分
利用commons-io-2,5.jar实现对本地文件增删改的监听,代码如下:
import org.apache.commons.io.filefilter.IOFileFilter;import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;import org.apache.commons.io.monitor.FileAlterationMonitor;import org.apache.commons.io.monitor.FileAlterationObserver;public class FileAlterationListen extends FileAlterationListenerAdaptor { public static String Reportname = "gsqxjb_risk_zyt_road"; public static String FileLocaltion = File.separator+"static"+File.separator+"pdf"+File.separator; public File DirContext; public FileAlterationListen(File dirContext) { super(); DirContext = dirContext; } //文件夹创建 @Override public void onDirectoryCreate(File directory) { System.out.println(directory.getName()+" | 文件夹被创建"+" | 路径为:"+directory.getPath()); } //文件夹改变 @Override public void onDirectoryChange(File directory) { System.out.println(directory.getName()+" | 文件夹被改变"+" | 路径为:"+directory.getPath()); } //文件夹删除 @Override public void onDirectoryDelete(File directory) { System.out.println(directory.getName()+" | 文件夹被删除"+" | 路径为:"+directory.getPath()); } //文件创建 @Override public void onFileCreate(File file) { super.onFileCreate(file); System.out.println(file.getName() +" | 文件被创建"+" | 路径为:"+file.getPath()); traverseFolder2(DirContext.getPath(),file.getName()); } //文件夹改变 @Override public void onFileChange(File file) { super.onFileChange(file); System.out.println(file.getName() +" | 文件被修改"+" | 路径为:"+file.getPath()); traverseFolder2(DirContext.getPath(),file.getName()); } //文件删除 @Override public void onFileDelete(File file) { super.onFileDelete(file); System.out.println(file.getName()+" 文件被删除"+" 路径为:"+file.getPath()); } public void traverseFolder2(String path,String fileName) { File file = new File(path); if (file.exists()) { File[] files = file.listFiles(); if (files.length == 0) { return; } else { for (File file2 : files) { if (file2.isDirectory()) { traverseFolder2(file2.getAbsolutePath(),fileName); } else { if (fileName.equals(file2.getName())&&file2.getName().contains(Reportname)&&file2.getName().contains(".doc")) { String name = file2.getName().substring(0, file2.getName().length()-4); // 得到静态资源的相对地址 String Apath = FileAlterationListen.class.getClassLoader().getResource("").getPath().split("WEB-INF")[0].replaceAll("/", "\\\\"),subPath=Apath.substring(1, Apath.length()); File outFile = new File(subPath+FileLocaltion+name+".pdf"); // WordToPdf(file2, outFile); } } } } } else { System.out.println("文件不存在!"); } } public static void main(String[] args) { File dir = new File("D://监听/DSC"); FileAlterationMonitor monitor = new FileAlterationMonitor(); IOFileFilter filter = FileFilterUtils.or(FileFilterUtils.directoryFileFilter(),FileFilterUtils.fileFileFilter()); FileAlterationObserver observer = new FileAlterationObserver(dir,filter); observer.addListener(new FileAlterationListen(dir)); monitor.addObserver(observer); try { //开始监听 monitor.start(); System.out.println("文件监听……"); } catch (Exception e) { e.printStackTrace(); } }}
阅读全文
0 0
- java监听指定目录下文件、文件夹的创建、删除、改变
- 获取tomcat 目录指定文件夹并删除文件夹下文件
- 获取tomcat 目录指定文件夹并删除文件夹下文件
- 如何指定文件夹处理目录下文件
- 【java】删除目录下文件
- 获取文件夹大小以及删除指定目录下文件及目录
- chmod 改变文件夹下文件的权限
- chmod 改变文件夹下文件的权限
- 将指定文件夹下文件及子文件夹下的文件复制到同一级目录
- android删除指定目录下文件及目录
- 删除掉指定目录下的.nomedia文件夹和文件
- 列出指定目录下文件或者文件夹,包含子目录的内容。
- Linux下文件/文件夹 创建/拷贝/删除/剪切 小记
- 浏览指定目录下文件
- java获取文件夹下文件的数目
- 彻底删除目录下文件
- 将指定文件夹下文件的文件名导入excel中
- 批处理 显示指定文件夹下文件的大小和时间
- 线性表和带头结点的双向循环链表
- 大小端判断
- 高级查询习题1-46
- ora数据分页查询
- Java的三种代理模式
- java监听指定目录下文件、文件夹的创建、删除、改变
- python2.7 遍历目录 获取文件名与内容
- Git Bash主题配置
- 【Scikit-Learn 中文文档】预处理数据
- Java开发练习7.2 Java集合框架
- Readme
- Android提高显示布局文件的性能,使用include标签重用layouts
- Pycharm 2017 破解
- 微信小程序开发分享