`
cucaracha
  • 浏览: 137639 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A8f3fa2f-18ce-3862-897a-5d2209197c90
Java NIO.2
浏览量:85798
7a076ba7-8ec8-3241-aa3c-67bb2f7856a2
Java EE 7 简明教...
浏览量:35645
社区版块
存档分类
最新评论

[NIO.2] 第三十八篇 监控服务 API

阅读更多
Java 7 NIO.2 引入了线程安全的监控服务,用于监控对象的改变和事件。大多数时候,用于监控目录和文件内容的改变,例如对目录中的文件进行增删改的操作。你可能已经见过这样的情况。当你在使用文本编辑器编辑文件的时候,如果你在文本编辑器的外部改变了文件的内容,那么文本编辑器会察觉到这个改变,并及时通知你。这就是系统的文件改变通知机制。NIO.2 开始提供了监控服务 API 来支持这个功能。

监控服务 API 是底层的 API。可以直接被使用也可以进行自定义。你甚至可基于它编写更高级的 API。默认情况下,此 API 依赖底层系统提供的功能来监控文件的改变。它允许你注册一个或多个文件夹被监控,在被监控周期内,可接受不同类型的通知。当一个或多个通知事件被监控服务接收,它会将事件传递给单独的线程或线程池来处理。

从 NIO.2 开始,你不再需要通过轮循或其它内部的方式来监控文件改变。在之前的 Java 版本中,需要启动一个专门的线程来不断循环监控文件的改变。现在,不再需要这么做了,无论是运行在  Mac OS X、Linux、Unix、Windows 或其它操作系统,都可以依赖系统底层通知来监控文件改变。
监控服务 API

首先我们看看 API 中的 java.nio.file.WatchService 接口。针对不同的文件系统和操作系统,这个接口有不同的实现。这个接口和一些类结合使用可以实现文件系统监控能力,下面看看简述:

  •     可监控对象:可监控对象是指实现了  java.nio.file.Watchable 接口的类的实例。在 NIO.2 中最常见的可监控对象就是 Path 对象。
  •     事件类型:这是我们监控的事件列表。事件只有在被注册后才会触发通知。NIO.2 支持的标准事件在  java.nio.file.StandardWatchEventKinds 类中,其中包含了创建、删除和修改事件。这个类中的常量实现了 WatchEvent.Kind<T> 接口。
  •     事件修饰符:它限制了 Watchable 如何注册 WatchService。
  •     事件监视器:监视器是 WatchService 对象,用于监控文件系统的改变。WatchService 对象可通过 FileSystem 对象来创建。它总是在后台监控注册的 Path 对象。


文章来源:http://www.aptusource.org/2014/04/nio-2-watch-service-api/
0
0
分享到:
评论

相关推荐

    Java IO, NIO and NIO.2(Apress,2015)

    Java I/O, NIO, and NIO.2 is a power-packed book that accelerates your mastery of Java's various I/O APIs. In this book, you'll learn about classic I/O APIs (File, RandomAccessFile, the stream classes ...

    Java IO, NIO and NIO.2 原版pdf by Friesen

    New I/O (NIO), and NIO.2 categories. You learn what each category offers in terms of its capabilities, and you also learn about concepts such as paths and Direct Memory Access. Chapters 2 through 5 ...

    Java IO, NIO and NIO.2

    这是一本介绍java io以及nio相关知识的书,书中对知识的讲解通俗易懂,是学习java nio以及复习java io相关知识的必备书籍。注意:本书为英文版!!!

    java nio.pdf

    java nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava ...

    Java NIO.pdf

    Java NIO.pdf Java NIO.pdf Java NIO.pdf Java NIO.pdf Java NIO.pdf Java NIO.pdf

    java nio.doc

    java.nio.charset 包中定义了字符集 API,java.nio.channels 包中定义了信道和选择器 API。每个子包都具有自己的服务提供程序接口 (SPI) 子包,SPI 子包的内容可用于扩展平台的默认实现或构造替代实现。

    蔚来-NIO.US-新车上市,蔚来可期.pdf

    蔚来-NIO.US-新车上市,蔚来可期.pdf

    Apress.Pro.Java.7.NIO.2.2011

    Apress.Pro.Java.7.NIO.2.2011

    Pro Java 7 NIO.2

    This book covers all the important aspects involved in developing NIO.2-based applications. It provides clear instructions for getting the most out of NIO.2 and offers many exercises and case studies ...

    Java NIO 中英文版 + Pro Java 7 NIO.2

    Java NIO,Ron Hitchens 著,中文版 裴小星 译,Pro Java 7 NIO.2,Anghel Leonard 著,pdf文字版带书签,无安全限制

    ProJava7NIO.2PDFBooks.pdf 英文原版

    Pro Java 7 NIO.2 – PDF Books

    Pro Java 7 NIO.2.pdf

    Pro Java 7 NIO.2.pdf,2011 by Anghel Leonard

    java NIO.zip

    java NIO.zip

    Pro Java 7 NIO.2 原版pdf by Leonard

    This book covers all the important aspects involved in developing NIO.2-based applications. It provides clear instructions for getting the most out of NIO.2 and offers many exercises and case studies ...

    xnio-nio-3.8.4.Final-API文档-中英对照版.zip

    包含翻译后的API文档:xnio-nio-3.8.4.Final-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.jboss.xnio:xnio-nio:3.8.4.Final; 标签:jboss、xnio、nio、jar包、java、中英对照文档; 使用方法:...

    JavaNIO.pdf

    JavaNIO.pdf

    java org.apache.http.nio jar包

    找了好久,终于找到了,java刷新同步获取网络资源

    xnio-nio-3.8.0.Final-API文档-中文版.zip

    包含翻译后的API文档:xnio-nio-3.8.0.Final-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.jboss.xnio:xnio-nio:3.8.0.Final; 标签:jboss、xnio、nio、中文文档、jar包、java; 使用方法:解压翻译后的API...

    xnio-nio-3.8.0.Final-API文档-中英对照版.zip

    包含翻译后的API文档:xnio-nio-3.8.0.Final-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.jboss.xnio:xnio-nio:3.8.0.Final; 标签:jboss、xnio、nio、中英对照文档、jar包、java; 使用方法:...

Global site tag (gtag.js) - Google Analytics