文档章节

WatchService

素人派
 素人派
发布于 2016/12/31 20:48
字数 175
阅读 7
收藏 0
  • 介绍
用Java对文件夹做监控的话该怎么办呢?C++的话可以调用本地的库,我们搞Java的当然也可以通过JNI来实现。现在要介绍的是WatchService——从JDK1.7开始有。
  • 类图
[caption id="attachment_3386" align="aligncenter" width="798"] java.nio.file的类图 java.nio.file的类图[/caption]
  • 例子
[codesyntax lang="java"]
package test;

import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardWatchEventKinds;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;

/**
 * Java文件夹监控测试
 * @author surenpi.com
 * @since jdk1.6
 * 2016年1月18日
 */
public class Test
{
	public static void main(String[] args) throws Exception
	{
		WatchService watchService = FileSystems.getDefault().newWatchService();
		Path path = Paths.get("d:/abctest");
		path.register(watchService, StandardWatchEventKinds.ENTRY_MODIFY);
		
		boolean change = true;
		while(change)
		{
			WatchKey wk = watchService.take();
			
			for(WatchEvent<?> event : wk.pollEvents())
			{
				Path changed = (Path) event.context();
				
				System.out.println(changed + "===" + event.count());
			}
			
			System.out.println(wk.reset());
		}
	}
}
[/codesyntax]
  • 问题
覆盖一个文件后,会有多个事件触发

本文转载自:http://surenpi.com/2016/01/18/watchservice/

素人派
粉丝 26
博文 1907
码字总数 10223
作品 6
东城
程序员
私信 提问

暂无文章

Feign Retryer的默认重试策略测试

1、Feign配置 @Configurationpublic class FeignConfig { @Value("${coupon_service.url:http://localhost:8081}") private String couponServiceUrl; @Bean publ......

moon888
20分钟前
1
0
关于不同域名下的session共享问题

如果登录,首页,分类,列表,产品都在不同的二级域名下,主域名不变,一定要保证里面的版本问题,不能为了更新而更新,这样哪个下面的session都访问不了。

dragon_tech
22分钟前
1
0
iOS 中文拼音互转(好东西记录一下)

PinYin4Objc

_____1____
29分钟前
1
0
fabric private data实战

Hyperledger Fabric private data是1.2版本引入的新特性,fabric private data是利用旁支数据库(SideDB)来保存若干个通道成员之间的私有数据,从而在通道之上又提供了一层更灵活的数据保护...

汇智网教程
30分钟前
1
0
es之聚合查询汇总

记录一下最近用到的es聚合查询,感觉常见的应该多遇上了,下午抽空更新

我真是小菜鸡
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部