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(); } } }