JAVA实时监控指定文件夹 创建文件,修改文件,删除文件
话不多说,直接上代码:
1 package com.python; 2 import java.nio.file.FileSystems; 3 import java.nio.file.Path; 4 import java.nio.file.Paths; 5 import java.nio.file.StandardWatchEventKinds; 6 import java.nio.file.WatchEvent; 7 import java.nio.file.WatchKey; 8 import java.nio.file.WatchService; 9 public class Watch { 10 public static void main(String[] args) { 11 try{ 12 13 //创建一个监听服务 14 WatchService service=FileSystems.getDefault().newWatchService(); 15 //设置路径 16 Path path=Paths.get("D:\\ATEST"); 17 //注册监听器 18 path.register(service, StandardWatchEventKinds.ENTRY_CREATE,StandardWatchEventKinds.ENTRY_DELETE,StandardWatchEventKinds.ENTRY_MODIFY); 19 20 WatchKey watchKey; 21 22 //使用dowhile 23 do{ 24 //获取一个watch key 25 watchKey=service.take(); 26 for(WatchEvent<?> event:watchKey.pollEvents()){ 27 //如果时间列表不为空,打印事件内容 28 WatchEvent.Kind<?> kind=event.kind(); 29 Path eventPath=(Path)event.context(); 30 System.out.println(eventPath+":"+kind+":"+eventPath); 31 32 } 33 System.out.println("目录内容发生改变"); 34 35 }while(watchKey.reset()); 36 }catch(Exception e){ 37 e.printStackTrace(); 38 39 } 40 41 // 1、通过FileSystems.getDefault().newWatchService()创建一个监听服务; 42 // 2、设置路径; 43 // 3、对目录注册一个监听器; 44 // 4、之后进入循环,等待watch key; 45 // 5、此时如果有事件发生可通过watchkey的pollevent()方法获取; 46 // 6、之后可以对event处理; 47 } 48 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2019-05-07 灭霸-个人冲刺第七天