【Linux文件系统监控的Java类库 inotify-java】


inotify-java是一个在
Linux 下对文件系统的更改进行监控的 java库。

示例代码:

  1. try
    {

  2. Inotify i = new Inotify();
  3. InotifyEventListener e = new InotifyEventListener() {
  4. @Override
  5. public void filesystemEventOccurred(InotifyEvent e) {
  6. System.out.println("inotify event occurred!");
  7. }
  8. @Override
  9. public void queueFull(EventQueueFull e) {
  10. System.out.println("inotify event queue: " + e.getSource()
    +
  11. " is full!");
  12. }
  13. };
  14. i.addInotifyEventListener(e);
  15. i.addWatch(System.getProperty("user.home"), Constants.IN_ACCESS);
  16. } catch (UnsatisfiedLinkError e) {
  17. System.err.println("unsatisfied link error");
  18. } catch (UserLimitException e) {
  19. System.err.println("user limit exception");
  20. } catch (SystemLimitException e) {
  21. System.err.println("system limit exception");
  22. } catch (InsufficientKernelMemoryException e) {
  23. System.err.println("insufficient kernel memory exception");
  24. }

更多java,java学习,java面试题  http://techfoxbbs.com

时间: 2024-11-06 07:24:01

【Linux文件系统监控的Java类库 inotify-java】的相关文章

Inotify: 高效、实时的Linux文件系统事件监控框架

概要 - 为什么需要监控文件系统? 在日常工作中,人们往往需要知道在某些文件(夹)上都有那些变化,比如: 通知配置文件的改变 跟踪某些关键的系统文件的变化 监控某个分区磁盘的整体使用情况 系统崩溃时进行自动清理 自动触发备份进程 向服务器上传文件结束时发出通知 通常使用文件轮询的通知机制,但是这种机制只适用于经常改变的文件(因为它可以确保每过x秒就可以得到i/o),其他情况下都非常低效,并且有时候会丢失某些类型的变化,例如文件的修改时间没有改变.像Tripwire这样的数据完整性系统,它们基于时

inotify 工具 是一种强大的、细粒度的、异步文件系统监控机制

前言:Inotify是一种强大的.细粒度的.异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性.读写属性.权限属性.删除创建.移动等操作,也就是可以监控文件发生的一切变化. inotify-tools是一个C库和一组命令行的工作提供Linux下inotify的简单接口.inotify-tools安装后会得到inotifywait和inotifywatch这两条命令 inotifywait命令可以用来收集有关文件访问信息,Linux发行版一般没有包括这个命令,需要安装i

Java 类库和常用类库

Java 类库概念: Java 的应用程序接口 (API) 以包的形式来组织,每个包提供了大量的相关类.接口和异常处理类,这些包的集合就是 Java 的类库 包名以 Java 开始的包是 Java 核心包 (Java Core Package) : 包名以 Javax 开始的包是 Java 扩展包 (Java Extension Package) ,例如 javax.swing 包: 常用的 Java 核心包 (Java Core Package) 1.       java.lang     

Python Inotify 监视LINUX文件系统事件

Inotify 可以监视的LINUX文件系统事件包括: --IN_ACCESS,即文件被访问 --IN_MODIFY,文件被write --IN_ATTRIB,文件属性被修改,如chmod.chown.touch等 --IN_CLOSE_WRITE,可写文件被close --IN_CLOSE_NOWRITE,不可写文件被close --IN_OPEN,文件被open --IN_MOVED_FROM,文件被移走,如mv --IN_MOVED_TO,文件被移来,如mv.cp --IN_CREATE,

Java类库的源码

Java类库中的类,包括System.String.Scanner.Math.Random等:这些类也是用Java编写的. Java类库中包含数千个文件,其中的很多文件都包含数千行代码:因为Java类库很大,所以其源码存在一个名为 src.zip 的文件中. 下面我们在计算机中找到这个文件(假如你的电脑中安装了Java环境): 在Linux系统中,它很可能位于目录  /usr/lib/jvm/openjdk-8/ 中(可能需要安装 openjdk-8-source 包): 在OS X系统中,它很

在LINUX上部署带有JAR包的JAVA项目

         在LINUX上部署带有JAR包的JAVA项目 首先eclipse上要装上一个小插件,叫做Fat Jar 点击Fat Jar 红框里选上主类点击Next 如图把勾打上 在该路径下找到jar包 通过ftp协议把jar包放在linux服务器下 进入到jar包路径 输入指令 java -jar XXX.jar 运行成功! 注意!!!!!!!!!!!!!!!! 当你断开服务器连接时,工程会停止! 所以要用下面的指令 指令:nohup java -jar XXX.jar 通过指令ps -e

如何使用JVisualVM远程监控和优化Tomcat和Java程序的内存和CPU

如何使用VisualVM远程监控和优化Tomcat和Java程序的内存和CPU JVisualVM 是Java 继 JConsole 之后有一款力作,是集成了诸多分析和优化Java程序的工具的工具. 我们可以用它来为优化Java程序的内存占用,找出内存泄漏,分析Java程序的CPU占用情况,根据JVisualVM获取到的数据优化JVM配置等.   总之是相当好了~~~~ JVisualVM 位于JAVA_HOME/bin目录下 . 直接运行可打开. 打开后界面如下: 由于JVisualVM 本身

java类库中的设计模式

原帖:http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns 提问:我正在学习GoF的<设计模式>,想了解些它们在实际中的应用的样例. 大家能给我举一些使用设计模式的好样例吗?尤其是在Java类库中. 获得赞同最高的回答: 你能够通过Wikipedia对设计模式有个总体上的理解.Wikipedia上也提高了GoF所涉及到的模式.我这里总结一下,而且尽可能指出在JavaSE与JavaEE的API中是怎样

Atitit.&#160;衡量项目规模&#160;----包含的类的数量&#160;.net&#160;java类库包含多少类&#160;多少个api方法??

Atitit. 衡量项目规模 ----包含的类的数量 .net java类库包含多少类 多少个api方法?? 1 framework 4.5 (10万个api)1 2 Jdk8   57M1 3 Gialen项目2 4 播放器项目 3500个类2 5 Jquery 1.11 (api 305个)2 6 Wordpress 4.2   (函数api详单(约500个api)2 7 Html5  860个api2 7.1 Css2 8 Js  430个3 1 framework 4.5 (10万个ap