pom
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency>
代码
import org.apache.commons.io.filefilter.FileFilterUtils; 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; import java.io.File; public class FileListen extends FileAlterationListenerAdaptor { //文件夹创建 @Override public void onDirectoryCreate(File directory) { System.out.println(directory.getPath() + "文件夹被创建"); } //文件夹改变 @Override public void onDirectoryChange(File directory) { System.out.println(directory.getPath() + "文件夹被改变"); } //文件夹删除 @Override public void onDirectoryDelete(File directory) { System.out.println(directory.getPath() + "文件夹被删除"); } //文件创建 @Override public void onFileCreate(File file) { System.out.println(file.getPath() + "文件被创建"); } //文件夹改变 @Override public void onFileChange(File file) { System.out.println(file.getPath() + "文件被修改"); } //文件删除 @Override public void onFileDelete(File file) { System.out.println(file.getPath() + "文件被删除"); } public static void main(String[] args) { FileAlterationMonitor monitor = new FileAlterationMonitor();//监听容器 IOFileFilter filter = FileFilterUtils.or(FileFilterUtils.directoryFileFilter(), FileFilterUtils.fileFileFilter());//设置监听为文件监听与目录监听 FileAlterationObserver observer = new FileAlterationObserver(new File("D:\\desc"), filter);//创建监听对象,传入监听目录与监听过滤器 observer.addListener(new FileListen());//给监听对象设置监听内容 monitor.addObserver(observer);//加入监听对象到监听更改对象容器中 try { monitor.start();//开始监听 System.out.println("文件监听……"); } catch (Exception e) { System.out.println("监听异常" + e.getMessage()); e.printStackTrace(); } } }