ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA实时监控指定文件夹 创建文件,修改文件,删除文件

2020-05-07 23:53:14  阅读:287  来源: 互联网

标签:文件 java nio Path 文件夹 file import JAVA event


话不多说,直接上代码:

 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         }

 

标签:文件,java,nio,Path,文件夹,file,import,JAVA,event
来源: https://www.cnblogs.com/smartisn/p/12846704.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有