java- WatchService监控

java7中新增WatchService可以监控文件的变动信息(监控到文件是修改,新增、删除等事件;)

其中注册事件是需要的:

StandardWatchEventKinds.ENTRY_MODIFY,//更新
StandardWatchEventKinds.ENTRY_DELETE,//创建
StandardWatchEventKinds.ENTRY_CREATE,//删除

 

下面是案例:

import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
import java.nio.channels.*;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;public class WatchFile
{public static void main(String[] args) throws Exception{String filePath = ("E:");// 获取文件系统的WatchService对象WatchService watchService = FileSystems.getDefault().newWatchService();Paths.get(filePath).register(watchService , StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_MODIFY, StandardWatchEventKinds.ENTRY_DELETE);// 如要监控子文件File file = new File(filePath);LinkedList<File> fList = new LinkedList<File>();fList.addLast(file);while (fList.size() > 0 ) {File f = fList.removeFirst();if(f.listFiles() == null)continue;for(File file2 : f.listFiles()){if (file2.isDirectory()){//下一级目录
                    fList.addLast(file2);//依次注册子目录
                    Paths.get(file2.getAbsolutePath()).register(watchService , StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_MODIFY, StandardWatchEventKinds.ENTRY_DELETE);}}}while(true){// 获取下一个文件改动事件WatchKey key = watchService.take();for (WatchEvent<?> event : key.pollEvents()) {System.out.println(event.context() +" --> " + event.kind());}// 重设WatchKeyboolean valid = key.reset();// 如果重设失败,退出监听if (!valid) {break;}}}
}

 

转载于:https://www.cnblogs.com/hwaggLee/p/6552561.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

antd 日期时间选择_Excel最全时间类函数总结,有必要收藏一下哦

Excel数据格式中&#xff0c;一共分十一类&#xff0c;其中两类分别是日期与时间。Excel中存在大量公式用于处理这两个类型的数据&#xff0c;下面一一介绍与之相关的函数。年月日函数Excel函数中分别用year()、month()、day()函数返回一日期的年、月、日&#xff0c;这三个函数…

C#中的变量类型(值类型、引用类型)

C#中的变量类型&#xff1a; 值类型&#xff1a;值类型直接存储的是变量的值&#xff0c;变量空间在栈上分配&#xff0c;分配速度比较快。给变量赋值时需注意变量类型的取值范围&#xff0c;给变量赋不合理的值会导致编译器报错。布尔类型的变量只有两种可选择的值true/false&…

Java:IDEA下使用JUNIT

单元测试的基本使用 一、环境配置 使用idea IDE 进行单元测试&#xff0c;首先需要安装JUnit 插件。 1.安装JUnit插件步骤 File-->settings-->Plguins-->Browse repositories-->输入JUnit-->选择JUnit Generator V2.0安装。 2.使用JUnit插件 在需要进行单元测试…

arcore之路-unity开发从入门到实践_Unity游戏开发——单例模式的最佳实践

0.前言StarryFun&#xff1a;Unity游戏开发——关于单例模式的理解​zhuanlan.zhihu.com之前一篇文章讲了单例模式的简单理解&#xff0c;自知其中有很多不严谨的地方&#xff0c;由于本萌新也是在学习阶段&#xff0c;所以去翻看了开源的项目都是怎么实现的&#xff0c;发现了…

压控元器件和流控元器件

压控元器件&#xff1a;通过电压控制器件是否工作&#xff0c;常见的有MOSFET、IGBT 流控元器件&#xff1a;通过电流控制器件是否工作&#xff0c;常见的有光耦、三极管

python位运算

这几天&#xff0c;在看C代码&#xff0c;要做一个imsi的decode 里面的代码都是用C写的&#xff0c;位运算什么的。看的有点乱。 由于要在pc上进行解析&#xff0c;所以打算用python写&#xff0c;那么问题来了Python进行位运算要怎么玩&#xff1f; 看的比较多的教程是把这方面…

光耦的简介

光耦&#xff0c;光电耦合器的简称&#xff0c;它是以光信号作为介质传输电信号的元器件。光耦的输入端和输出端信号可以非常好的进行隔离&#xff0c;因此在隔离电路中经常会见到光耦。光耦合器一般由三部分组成&#xff1a;光的发射、光的接收及信号放大。输入的电信号驱动发…

接待员如何向客人upsell_客房留言卡也能收获好评,看看高情商酒店如何做的?...

客人对酒店最客观的评价从点评中就能看到&#xff0c;那酒店服务如何才能被客人看到呢&#xff1f;可不可以通过一张留言卡&#xff0c;被客人感知到呢&#xff1f;本文整理了多个客房服务实际场景案例&#xff0c;帮助酒店了解如何写好这张留言卡。一、什么场景下放置留言卡&a…

“2020 RT-Thread开发者大会” 思考感悟

从2019年开始参加RT-Thread的一次线下培训活动后&#xff0c;就深深的喜欢上这个国产的RTOS&#xff0c;之后RT-Thread举办的活动基本都有参加&#xff08;但每次活动抽奖都抽不到&#xff01;&#xff09;。当然&#xff0c;最为盛大的还属一年一度的RT-Thread开发者大会&…

构造函数demo

package cn.xuexi; /** 简单的写了一个构造函数的类* 总结一下构造函数的坑* 1、构造函数的名字必须与类型保持一致* 2、构造函数不能有任何返回值类型的修饰&#xff0c;void也不行* 3、构造函数中不能使用return 语句 */ public class GouZaoDemo { public static void main(…

小红书笔记_小红书的沙雕笔记,害人不浅啊

话说&#xff0c;当代人的十大必备软件是什么&#xff1f;要猫姐来说的话。除了微信微博抖音&#xff0c;小红书也肯定少不了&#xff01;它简直就是大部分PLMM的“种草神器”。就连明星都纷纷入驻小红书变身为“美妆博主”。前一阵上了热搜榜和李晨分手的范冰冰也是小红书的一…

禅、魏晋风度及其他

禅、魏晋风度及其他 从本质上说&#xff0c;禅与文学艺术活动是相悖的。禅讲“静虚”&#xff0c;讲“色空”&#xff0c;讲“人中无我”、“法中无我”。所谓“菩提本无树&#xff0c;明镜亦非台&#xff0c;本来无一物&#xff0c;何处惹尘埃”&#xff08;王蒙说这也不算彻底…

2020 RT-Thread开发者大会 ART-Badge电子胸牌(可二次开发)

2020 RT-Thread开发者大会 ART-Badge电子胸牌&#xff08;可二次开发&#xff09;&#xff0c;动手实验IOT会场有介绍使用PersimmonUI设计器进行柿饼UI的开发&#xff0c;使用拖拽控件、注册事件的方式进行GUI的开发。开发语言使用JS&#xff0c;界面实现非常方便&#xff0c;后…

datatables分页下一页不能点击_干货,删不掉Word文末最后一页?学会5个方法,再也不愁啦...

在处理Word文档时&#xff0c;经常会在文档最后出现一页空白&#xff0c;非常讨厌&#xff0c;更可恶的是总是删不掉&#xff0c;按退格键或者delete键都无济于事。你是不是也正在为删除Word文末空白页发愁呢&#xff1f;有没有好的方法解决这一问题呢&#xff1f;有的&#xf…

swift 第四课 随意 设置button 图片和文字 位置

项目中经常遇到按钮改变文字和图片位置的情况&#xff0c;所以尝试写一个 button 的分类&#xff1a; 参照连接 http://blog.csdn.net/dfqin/article/details/37813591 import Foundation import UIKit /*枚举 设置 图片的位置*/ enum ButtonImagePosition : Int{case Position…

C#中get和set访问器的用法

C#中的get和set访问器可用来获取和设置类中字段&#xff08;即属性&#xff09;的值&#xff0c;通过get和set访问器提供访问接口&#xff0c;从而可以避免对字段的直接访问造成的不安全性。 using System; using System.Collections.Generic; using System.Linq; using Syste…

asm扩容流程_Oracle rac asm 扩容

环境介绍&#xff1a;故事发生在Oracle 11.2.0.4 RAC/ Linux 6.8 的数据库集群服务器上。DATA/ ARCH/ 磁盘组空间不足&#xff0c;进行扩容。首先&#xff0c;如果要在线使用udev方式扩容asm&#xff0c;建议先备份两个节点所有在用网卡信息&#xff0c;避免bug误删除网卡信息。…

计分员计分程序

1.估计这个任务需要多长时间&#xff1a;两星期 2.需求分析&#xff1a; 作为一名现场记分员&#xff0c;我希望详细记录比赛现场比分增长情况&#xff0c;以便观众及运动员、教练员及时掌握比赛状况。&#xff08;满意条件&#xff1a;每一次比分的改变&#xff0c;都要形成一…

蓝牙入门基础知识(一)

蓝牙起源 1995年5月20日&#xff0c;在美国华盛顿州&#xff0c;索尼爱立信、IBM、英特尔、诺基亚、东芝成立了蓝牙技术联盟&#xff08;Bluetooth Special Interest Group&#xff0c;SIG&#xff09;。SIG是一个制定蓝牙规范&#xff0c;推送蓝牙技术发展的国际组织。SIG授权…

用python将图片写入ppt_用python做ppt服务用于导入图片

项目需要做WINFORM程序与powerpoint交互&#xff0c;把winform生成的图片自动拷贝到ppt中。目前使用python做了一个简单的服务解决。由于要求是32位程序&#xff0c;所以下面全都是32位的版本。第一步&#xff0c;安装python2.7 32位。第二部&#xff0c;安装py2exe 32位。第三…