最近。在研究一些比较成熟的框架。他们还发现,他们中的一些相当不错的文章。现在,对于一些在你们中间一个简单的翻译(版的英文文章,非常有帮助)。

译:原文链接

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

要实现这样的"文件监控”功能,程序必须可以检測到在文件系统相关的文件夹中发生了什么。一种方法是检查文件系统发生了什么变化。但这样的方法是低效的。它不能大规模的监控已打开的文件或文件夹。还有一种方法是使用java.nio.file包提供一个文件监控服务。这个服务同意你为一个文件夹或多个文件夹注冊监控服务。

注冊时。仅仅须要告诉须要监控的事件,包含文件的创建、删除、改动。当服务监控到对应的事件之后,它就会运行注冊的事件。在注冊的事件会有一个用来监控已经注冊的事件的线程或线程池,这样当一个注冊事件发生后,它就会进行相关的处理。



        文件文件夹监控服务WatchService使用很easy,你甚至能够自行定义。你能够直接使用它或者在原有基础之上进行扩展,以便更加适合您的特殊须要。

创建一个文件夹监控服务的基本过程例如以下:

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

        2、在文件系统监控服务上注冊你须要监控的文件文件夹的。注冊文件夹时。指定的监控的类型。

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

4、整个监控过程的关键在于。能够从监控服务提供的监控秘钥中获取监控到的文件名

        5、监控到等待事件的发生的关键在于能够运行须要的过程。

        6、事件监控完毕之后,又一次等待。

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

……

为了更加清晰的说明整个文件文件夹的运行过程。我给大家找了一个比較好的说明文档,链接例如以下:

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

Java高级应用(一个)-文件夹监控服务的更多相关文章

  1. java+上传一个文件夹

    在web项目中上传文件夹现在已经成为了一个主流的需求.在OA,或者企业ERP系统中都有类似的需求.上传文件夹并且保留层级结构能够对用户行成很好的引导,用户使用起来也更方便.能够提供更高级的应用支撑. ...

  2. java遍历统计一个文件夹中所有文件单词出现次数

    思路就是通过递归进行文件遍历,把所有文件夹中的非目录文件都遍历一遍,并判断其中读取到的字符串是不是单词,并对单词进行记录和计数,并在最后进行排序输出,下面是代码: package word; impo ...

  3. 用Java实现将多级文件夹下的所有文件统一放到一个文件夹中

    每次下了电影(男生懂得呦),每部电影都放在一个单独的文件夹里,看的时候很是不方便啊,一直重复着进入文件夹.后退,再进.再退的操作,而手动把这些电影全部复制出来又太繁琐.因此为了解决这个问题,用IO写了 ...

  4. 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...

  5. flume监控一个linux指定的一个文件夹的文件信息

    1.编辑一个配置文件 flume-app.conf  拷贝至fulme的安装目录的conf下 # The configuration file needs to define the sources, ...

  6. Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

    package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...

  7. Java遍历一个文件夹下的全部文件

    Java工具中为我们提供了一个用于管理文件系统的类,这个类就是File类,File类与其它流类不同的是,流类关心的是文件的内容.而File类关心的是磁盘上文件的存储. 一,File类有多个构造器,经常 ...

  8. 代码实现:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名

    package com.loaderman.test; import java.io.File; import java.io.FileReader; import java.util.Scanner ...

  9. java io流 对文件夹的操作

    java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...

随机推荐

  1. 【例题3-6 UVA - 1584】Circular Sequence

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 不用真的把每一位都取出来. 用一个后缀的思想. 把原串复制一遍接在后面,然后把每个字符串 都当成一个长度为n的后缀就好了. 比较每个 ...

  2. 【例题3-3 UVA - 401】Palindromes

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果一个字符没有对应的镜像,那么它对应的是一个空格. 然后注意 aba这种情况. 这种情况下b也要查一下它的镜像是不是和b一样. [ ...

  3. js进阶 12-1 jquery的鼠标事件有哪些

    js进阶 12-1 jquery的鼠标事件有哪些 一.总结 一句话总结:1+3*2+1+1,其中里面有两组移入移出,一组和click,总结就是click(3个),hover(5个),mousemove ...

  4. diff_mysql_table_exec.py

    #!/usr/bin/env python #-*- encoding: utf8 -*- import mysql.connector import sys import re import dat ...

  5. 关于JavaScript对象概念的总结

    原文 https://www.jianshu.com/p/88213b499c4b 大纲 前言 1.对象的相关概念 2.对象的创建(简单创建) 3.对象的属性 3.1.数据属性 3.2.访问器属性 4 ...

  6. php实现 字符串加密(分类分布分工,化不可能为可能)

    php实现  字符串加密(分类分布分工,化不可能为可能) 一.总结 一句话总结:谋而后动,加先伪代码,在带函数逻辑,在函数的方式可以极大的避免错误和降低难度.不然这个题目乎出现各种乱七八糟的错误. 1 ...

  7. sysbench压测Oracle

    安装: yum -y install make m4  autoconf automake libtool pkgconfig libaio-devel rpm -Uvh http://dl.fedo ...

  8. winscp ppk无需密码登录(失败)

    http://blog.csdn.net/catoop/article/details/8284803 按上文将Linux下生成的密钥文件id_rsa通过puttygen生成对应的.ppk文件,用wi ...

  9. JasperReport html 导出

    In my last blog post I discussed about Generating jasper reports in different formats using json fil ...

  10. Error while trying to retrieve text for error ORA-12705

    今天, 按照以前的学习笔记, 配置ProC 但是, 却发生了如题的错误. Google一下, 都是NLS_LANG环境变量设置有问题, 我核一下没有问题. 问题在哪? 原来是ORACLE_HOME环境 ...