Java监控文件目录的变化

在Java1.7以前的版本中,如果程序想要监控文件的变化,比较常规的做法是轮询要监控的文件目录,采用启动一条后台线程。这种做法性能较差尤其对于大批量的文件监控。第三方commons-io.jar包有org.apache.commons.io.monitor类利用观察者模式也可用做文件的监控。
1.7版本后,java.nio.file包提供了目录监控的api即 Watch Service API。我们把想要监控的目录注册进watchservice中,你把想要监控的事件告诉service,比如文件创建,删除,修改。当service检测到所关注的事件,系统的注册的线程就是检测到并做出相应处理。
WatchKeys是线程安全的,可以和 java.nio.concurrent包中的类使用也可以放入 thread pool中使用。

基本步骤:
1,为文件系统创建WatchService
WatchService watcher = FileSystems.getDefault().newWatchService();
2,所有实现了
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值