learning java 使用WatchService监控文件变化
import java.io.IOException;
import java.nio.file.*; public class WatchServiceTest {
public static void main(String[] args) throws IOException, InterruptedException {
WatchService watchService = FileSystems.getDefault().newWatchService();
Paths.get("C:/").register(watchService,
StandardWatchEventKinds.ENTRY_CREATE,
StandardWatchEventKinds.ENTRY_DELETE,
StandardWatchEventKinds.ENTRY_CREATE);
while ( true ){
WatchKey key = watchService.take();
for ( WatchEvent<?> event : key.pollEvents())
{
System.out.println(event.context() + "文件发生了 " + event.kind() + "事件");
}
boolean valid = key.reset();
if (!valid)
break;
}
}
}
output:
新建 Microsoft Word 文档.docx文件发生了 ENTRY_CREATE事件
~$ Microsoft Word 文档.docx文件发生了 ENTRY_CREATE事件
~WRD0000.tmp文件发生了 ENTRY_CREATE事件
新建 Microsoft Word 文档.docx文件发生了 ENTRY_DELETE事件
~WRL0001.tmp文件发生了 ENTRY_CREATE事件
~WRD0000.tmp文件发生了 ENTRY_DELETE事件
新建 Microsoft Word 文档.docx文件发生了 ENTRY_CREATE事件
~WRL0001.tmp文件发生了 ENTRY_DELETE事件
~$ Microsoft Word 文档.docx文件发生了 ENTRY_DELETE事件
learning java 使用WatchService监控文件变化的更多相关文章
- JDK 之 NIO 2 WatchService、WatchKey(监控文件变化)
JDK 之 NIO 2 WatchService.WatchKey(监控文件变化) JDK 规范目录(https://www.cnblogs.com/binarylei/p/10200503.html ...
- Python监控文件变化:watchdog
Python监控文件变化有两种库:pyinotify和watchdog.pyinotify依赖于Linux平台的inotify,后者则对不同平台的的事件都进行了封装.也就是说,watchdog跨平台. ...
- mac 监控文件变化并重启php
自己撸一个框架,需要监控代码变化 安装fswatch brew install fswatch shell重启PHP脚本reload.sh #!/bin/sh do ps -ef | grep php ...
- 使用apache common-io 监控文件变化--转
package common.io; import org.apache.commons.io.filefilter.FileFilterUtils; import org.apache.common ...
- linux 监控文件变化
介绍 有时候我们常需要当文件变化的时候便触发某些脚本操作,比如说有文件更新了就同步文件到远程机器.在实现这个操作上,主要用到两个工具,一个是rsync,一个是inotifywait .inotifyw ...
- 使用apache common-io 监控文件变化
package common.io; import org.apache.commons.io.filefilter.FileFilterUtils; import org.apache.common ...
- inotifywait命令如何监控文件变化?
转载自:https://segmentfault.com/a/1190000038351925 文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文 ...
- Gulp-前端进阶A-3---如何不刷新监控文件变化?
npm install --save-dev gulp-connect npm install --save-dev gulp-livereload npm其他,前面已有 var gulp = req ...
- 利用nodejs监控文件变化并使用sftp上传到服务器
很久没写博客了,因为最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器) 然后因为经常要改动,而且又要放到服务器上进行测试.总是要webpack,然后手动把文件上传上去,不 ...
随机推荐
- 有些CCS工程中为什么会有两个CMD文件?
这里的CCS就是TI公司的Code Composer Studio 集成开发环境,所以这篇随笔也就是关于TI公司DSP开发过程中对于刚入门同学的一个常见问题了. 那作为一个初学者,对于CCS工程中的c ...
- Navicat Premium 12 安装与破解,Navicat Premium通用的数据库管理工具
本文转自:https://blog.csdn.net/WYpersist/article/details/86530973 Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同 ...
- 向Spring 容器中注入对象的几种方法
1.使用@Bean 注解,用于注入第三方 jar 包到SpringIOC容器中. 2.使用 @Import({Order.class, Member.class, MyImportBeanDefini ...
- Redis AOF持久化(二)
1.AOF持久化的配置 AOF持久化,默认是关闭的,默认是打开RDB持久化 appendonly yes,可以打开AOF持久化机制,在生产环境里面,一般来说AOF都是要打开的,除非你说随便丢个几分钟的 ...
- win10下更新anaconda和pip源
第一步:更新anaconda源. anaconda的官方源太慢,推荐清华源:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 软件下载也可以在这个 ...
- 3、Linux目录操作
1.目录操作概述 2.ls显示目录内容 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 ls -a 显示目录下的所有文件(包括 ...
- MVC学习笔记(二)—用EF创建数据库
1.创建一个空项目 2.在项目中创建EFCore的类库 3.在NuGut控制台为EFCore项目中安装entity 3.1 命令为:Install-Package EntityFramework(在 ...
- MVC学习笔记(一)—用EF创建数据库
1.新建MVC项目 2.在Models文件夹下添加名为User的新类 2.1 Users类中的代码为: public class Users { /// <summary> / ...
- 使用burp进行brute force破解
前期准备 首先设置好burp的代理端口,并设置好浏览器的代理 因为要修改数据包,所以intercept改为on Burp使用 拦截 首先随便输入密码123,然后拦截数据包,找到密码 添加到Intrud ...
- 必须修改getdate()格式,判断是否处于两个日期之间
), ) ), )<= 周次结束日期 ), ) -- 这样的格式结果为:2019-09-01 --如果不进行转换,查出来含有日期和时间,否则两个边界无法查询出来