Java高级应用(一)-文件目录监控服务

最近,在研究一些比较成熟的框架,这其中也发现了一些比较不错的文章,现给大家简单翻译其中的一部分(强烈建议大家看一些原版的英文文章,很有帮助)。

译:原文链接

你有没有发现,当你编辑一个文件,同时使用另一个IDE或编辑器进行编辑的时候,会出现一个对话框通知"一个打开的文件的已经改变,是否需要重新加载?”。但像NetBeans IDE等一些应用程序只是静静地更新文件而没有通知你。

要实现这种"文件监控”功能,程序必须能够检测到在文件系统相关的目录中发生了什么。一种方法是检查文件系统发生了什么变化,但这种方法是低效的。它不能大规模的监控已打开的文件或目录。另一种方法是使用java.nio.file包提供一个文件监控服务。这个服务允许你为一个目录或多个目录注册监控服务。注册时,只需要告诉需要监控的事件,包括文件的创建、删除、修改。当服务监控到相应的事件之后,它就会执行注册的事件。在注册的事件会有一个用来监控已经注册的事件的线程或线程池,这样当一个注册事件发生后,它就会进行相关的处理。

文件目录监控服务WatchService使用非常简单,你甚至可以自行定义。你可以直接使用它或者在原有基础之上进行扩展,以便更加适合您的特殊需要。创建一个目录监控服务的基本步骤如下:

1、创建一个文件系统监控服务-WatchService。

2、在文件系统监控服务上注册你需要监控的文件目录的。注册目录时,指定的监控的类型。

3、编写一个无限等待,监控事件发生的事件方法。以便当监控队列中的目录发生响应的事件之后,能够及时响应和终止。

4、整个监控过程的关键在于,可以从监控服务提供的监控秘钥中获取监控到的文件名称

5、监控到等待事件的发生的关键在于可以执行需要的过程。

6、事件监控完成之后,重新等待。

7、监控服务退出或关闭时,调用内部关闭的方法进行关闭。

……

为了更加清晰的说明整个文件目录的执行过程,我给大家找了一个比较好的说明文档,链接如下:

http://blog.csdn.net/cxhzqhzq/article/details/6604300

Java高级应用(一)-文件目录监控服务

时间: 2024-12-27 02:00:07

Java高级应用(一)-文件目录监控服务的相关文章

Java高级应用(一个)-文件夹监控服务

最近.在研究一些比较成熟的框架.他们还发现,他们中的一些相当不错的文章.现在,对于一些在你们中间一个简单的翻译(版的英文文章,非常有帮助). 译:原文链接 你有没有发现,当你编辑一个文件.同一时候使用还有一个IDE或编辑器进行编辑的时候,会出现一个对话框通知"一个打开的文件的已经改变,是否须要又一次载入?".但像NetBeans IDE等一些应用程序仅仅是静静地更新文件而没有通知你. 要实现这样的"文件监控"功能,程序必须可以检測到在文件系统相关的文件夹中发生了什么

千锋《Java高级教程+分布式+springcloud+微信支付》

课程目录:├─千锋Java高级教程-cas单点登录(完结-8集)│      01单点登录介绍│      02cas介绍│      03tomcat搭建https│      04cas server搭建│      05Cas 配置 jdbc 连接数据库│      06Cas 密码 MD5值│      07 Cas 整合shiro1│      07 Cas 整合shiro2│      ├─千锋Java高级教程-dubbo+zookeeper分布式系统架构基础(11集)│      

2017最新技术java高级架构、千万高并发、分布式集群、架构师入门到精通视频教程

* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat

java高级视频课程Dubbo、Redis、ActiveMQ、Nginx、Mycat、Spring、MongoDB、ZeroMQ、Git、Nosql、Jvm、Mecached、Netty、Nio、Mina

* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat

Java高级架构,java8新特性,P2P金融项目,程序设计,功能设计,第三方支付,web安全视频教程

36套精品Java精品高级课,架构课,java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,第三方支付,web安全,高并发,高性能,高可用,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,大型分布式电商实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Elasticsearch,Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mec

云监控服务比较

现在做互联网产品的团队都比较小,也可能没有特别多运维人员.因此特别需要用一些系统或是工具来监控服务器或者是服务是否正常.之前比较直接的做法是自己搭建一套开源的监控系统,现在随着云服务器的流行,也有越来越多的人用户会使用云端的监控平台. 从我的经验来看,云服务器监控是有些特别的好处的: 1.自建的监控平台,有一部分问题是没办法发出警报.比如,一般监控服务器也会在内部网络中,如果出现外部网络问题,监控服务是没办法通知到相关人员(因为发邮件或者是发短信的通路也会出现问题). 2.自建的监控平台,只能检

Java魔法堂:以Windows服务的形式运行Java程序

一.前言 由于防止维护人员误操作关闭Java控制台程序,因此决定将其改造为以Windows服务的形式运行.弄了一个上午总算搞定了,下面记录下来,以供日后查阅. 二.Java Service Wrapper 官网地址:http://wrapper.tanukisoftware.com/doc/english/download.jsp JavaServiceWrapper以守护进程或windows服务的方式运行java程序.JSW提供四种方案改造原有项目,以实现守护进程或windows服务的方式运行

免费网站监控服务阿里云监控,DNSPod监控,监控宝,360云监控使用对比

网站会因为各种原因而导致宕机,具体表现为服务器没有响应,用户打不开网页,域名解析出错,搜索引擎抓取页面失败,返回各种HTTP错误代码.网站宕机可能带来搜索引擎的惩罚,网站服务器不稳定与百度关系文章中就是一个生动的例子. 为了最大限度地避免损失,我们需要在网站宕机后尽快得到提醒,同时在最短的时间恢复网站的正常运行.这就是作为草根个人站长的悲剧,起早贪黑地更新网站内容,没想到一个十五长假过去了,网站宕机了好几天,回来一看site百度网站消失了. 本篇文章就来分享一下国内四个免费的网站监控服务:阿里云

Java高级开发工程师面试考纲

如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对Java高级开发工程师职位的考核纲要,希望可以帮助到需要的人. 当前,市面上有<Java XX宝典>类似的图书,而且图书中的内容都着重在讲解Java最为基础的部分,最严重的是,里面有着大量错误的内容,极具误导性.另外,网上也有各种各样的Java面试题,很多也是着重在Java语言基础上.实际上,如果