`
zhaoningbo
  • 浏览: 620795 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
引言:

  刚开始看jforum的源代码,感觉其中的FileMonitor写得简洁易懂,非常实用。果断拉出来简化简化(只监视一个文件注册一个监听,文件修改后只执行个打印变语句,只添加监听不取消),分享给大家。

  项目可在文尾资料中下载。

正文:

  目前java监控文件修改主要的写法有:
  1)定时扫描;
  2)使用jni在操作系统上做工作;
  3)其他手法(如工具jar包及process等组合手法)。

  本样例,使用的是第1种,因此可以用纯java代码实现。核心思想是“定时任务,检查文件最后修改时间,与程序保存的上次修改时间做比较,事件模型实现”。

资料:

点击下载:FileMonitor.rar



1
2
分享到:
评论
2 楼 zhaoningbo 2012-07-16  
c.zhiwu 写道
java7中可以使用WatchService和WatchKey来监听文件的变化.

哦,java7不了解。学习了^。^
1 楼 c.zhiwu 2012-07-14  
java7中可以使用WatchService和WatchKey来监听文件的变化.

相关推荐

    Java目录监视器源程序.7z

    Java目录监视器是一种实用工具,它能够实时监控指定的文件系统目录,并在发生特定事件时,如文件创建、修改、删除或移动时触发相应的处理逻辑。这个源程序可以帮助开发者了解如何利用Java API来实现这样的功能,这...

    文件拖放打开和文件监视

    在编程中,这通常通过文件系统监视器如WatchService(Java)、FileSystemWatcher(.NET)或者inotify(Linux)等实现。当文件发生变动时,程序可以及时响应,例如更新显示内容、保存备份、提醒用户等。在描述中提到...

    线程监视目录里的文件

    - **C#/.NET**:.NET Framework和.NET Core提供了`FileSystemWatcher`类,用于监视文件系统变更。 - **Node.js**:Node.js有`chokidar`库,提供文件系统的观察者功能。 4. **事件处理**: 当监测到文件系统事件...

    监听文件下文件发生变化时复制文件到另一个文件夹

    复制过程中需要注意保持文件的元数据(如修改时间),确保目标文件与源文件一致。 多线程是另一个关键点。因为文件系统监听和文件复制可能涉及I/O操作,这些操作通常是阻塞的,如果在一个线程中执行,可能会阻塞...

    自动修改文件的属性

    在编程中,例如Python有`watchdog`库,Java有`WatchService` API,它们可以用来监视指定目录下的文件或文件夹的变化,包括创建、删除、修改和属性变更等事件。如果"WatchBin"是一个类似工具,我们可以编写脚本,当有...

    Java利用WatchService监听文件变化示例

    Java的WatchService类是在JDK 7中引入的,它允许Java程序对文件系统的变更进行监视。这个特性在开发中非常有用,特别是在需要及时响应文件系统变化的应用场景中。例如,配置文件的变更、日志文件的实时监控等。本文...

    文件夹监视

    在IT行业中,文件夹监视是一项重要的技术,它允许程序实时跟踪和响应指定目录中的变化,如文件的创建、修改、删除等事件。本篇将详细探讨这个主题,并以提供的两个Java源码文件——`FileMonitorTest.java`和`...

    Java类热替换(热部署)源码

    4. **监控文件系统**:可以使用`java.nio.file`包的`WatchService`监听文件系统的变化,当类文件被修改时,重新加载类。 5. **安全性和版本控制**:确保新加载的类与旧的类不冲突,避免数据不一致。可能需要考虑类...

    提取创建或修改的文件自动生成布署目录

    总之,"提取创建或修改的文件自动生成布署目录"工具是Java项目部署流程中的一大助力,通过自动化处理文件的更新,确保了部署的准确性和实时性。掌握和利用这样的工具,对于提升个人或团队的开发效率具有重要意义。

    FileListener.rar

    在Java中,可以使用`java.nio.file.FileSystems`和`java.nio.file.Files`类提供的`WatchService`来监视文件系统事件。`FileMonitor`可能通过注册感兴趣的事件(如创建、删除、修改等)并周期性地轮询`WatchService`...

    软件开发实例__纯文本监视器

    在实现文本监视器时,首要任务是能够正确读取和解析文本文件。这通常涉及到文件I/O操作,如使用Java的`FileReader`和`BufferedReader`,或者Python的内置`open()`函数。开发者需要掌握文件的打开、读取、关闭等基本...

    监控文件夹内的文件的变化(Dir Watcher).

    3. 文件修改:当文件内容被更改时。 4. 文件重命名:当文件的名称发生变化时。 5. 文件属性改变:如权限、大小、时间戳等属性的变更。 三、Demo介绍 提供的"Demo"很可能是用某种编程语言(如Python、Java、C#等)...

    file_mon.rar

    4. **编程语言**:文件监视程序通常使用编程语言实现,如C++、Python、Java等。Python有丰富的库支持,如watchdog,方便快捷地实现文件系统监控。 5. **文件安全**:通过文件监视,我们可以及时发现异常的文件操作...

    Java NIO Ron Hitchens著

    9. **文件系统事件(WatchService)**:Java 7引入了WatchService API,允许程序监控文件系统的变更事件,如文件创建、删除、修改等。 10. **案例分析**:书中可能会通过实际的案例来展示如何使用NIO构建高性能的...

    DropBoxWatcher:用于监视文件更改的下拉框的实用程序

    DropBoxWatcher 利用了 Java 的文件I/O和事件监听机制,能够实现实时监控指定目录(在此情况下是 Dropbox 目录)的文件或文件夹的创建、修改和删除等操作。这对于开发者和日常用户来说,尤其是在进行版本控制、数据...

    目录监视器

    2. **事件驱动编程**:目录监视器通过监听系统事件(如文件变更事件)来触发相应的处理函数,这属于事件驱动编程模型的一部分。 3. **多线程/异步处理**:为了保证程序的响应性和避免阻塞,目录监视器可能会使用多...

    基于Java的类重加载工具 JReloader.zip

    然而,JReloader通过监控类文件的变化,可以在运行时动态替换旧的类版本,使得开发者可以在修改代码后立即看到结果。 JReloader的使用步骤大致如下: 1. **集成到项目**:将JReloader库添加到项目的依赖中。如果是...

Global site tag (gtag.js) - Google Analytics