`
田智伟
  • 浏览: 206265 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java7文件及目录变更监控

阅读更多

之前想过对一些文件操作最好能够监控,从而通过文件变更监控来解决系统耦合,比如某公司就是通过监控binlog变化来同步数据库,从java7开始提供了系统级别的工具,使文件变更监控变的更简单

public class Test {

    public static void main(String[] args) {
        WatchService watcher = null;
        try {
            watcher = FileSystems.getDefault().newWatchService();
            Path dir = FileSystems.getDefault().getPath("E:\\");

            WatchKey key = dir.register(watcher, StandardWatchEventKinds.ENTRY_CREATE,
                    StandardWatchEventKinds.ENTRY_DELETE, StandardWatchEventKinds.ENTRY_MODIFY);

            while (true) {
                key = watcher.take();
                for (WatchEvent<?> event : key.pollEvents()) {
                    System.out.println(event.kind().name());
                    System.out.println(event.context());
                    System.out.println("00-------------------00");
                }
                key.reset();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }


    }
}

 上面是一个简单的例子

分享到:
评论

相关推荐

    文件监控文件监控文件监控文件监控

    这个Java文件监控系统可能基于文件系统事件(如Java的`java.nio.file.FileSystems`和`java.nio.file.WatchService`)来检测文件的创建、修改、删除和移动。WatchService接口提供了一个观察文件系统变化的机制,当...

    java实现监视文件修改变更

    通过以上方式,你可以实现Java中的文件变更监控功能。然而,实际项目中可能需要考虑更多的细节,例如错误处理、性能优化和持续性监控等。希望这个简要的介绍能帮助你理解基本概念,并在实践中进行扩展。

    src.rar_java监控文件夹_文件监控_监控文件

    这个类可能会有一个定时任务,每隔5秒检查一次文件夹状态,确保没有错过任何文件变更。这通常可以通过ScheduledExecutorService来实现,设置一个定时任务周期性地调用WatchService的相关方法来检查新事件。 在实际...

    java 使用线程监控文件目录变化的实现方法

    Java 使用线程监控文件目录变化的实现方法 Java 使用线程监控文件目录变化的实现方法是指通过 Java 语言实现对文件目录的实时监控,以便及时检测文件的变化情况。本文将详细介绍 Java 使用线程监控文件目录变化的...

    java jre7里的nio实现稳健监控

    总的来说,Java JRE7的NIO.2通过WatchService提供了强大的文件监控功能,使得开发者能够轻松地实现文件系统事件的实时响应,而无需编写复杂的轮询逻辑。这种特性在文件同步、日志监控、自动化测试等场景中非常有用。...

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

    2. 性能优化:如果文件变更频繁,频繁的复制可能会对系统性能产生影响。因此,可以设置一定的延迟或者批量处理,避免过多的I/O操作。 3. 资源释放:确保在完成监听任务后关闭监听器,防止资源泄露。 4. 安全性:确保...

    文件修改状态监控

    标签“状态监控”进一步明确了这是一个用于观察和记录文件状态的工具,它可以提供文件变更的历史记录,帮助用户追踪文件的变化过程。 压缩包子文件的文件名称列表揭示了工具的一些工作原理和可能的配置选项: 1. `...

    Java进程配置文件Reload

    7. **事件驱动编程**:可以采用事件驱动的方式处理配置文件变更,创建一个配置监听器接口,当文件变化时触发一个事件,由感兴趣的组件订阅并执行相应操作。 8. **缓存策略**:为了提高性能,配置信息可能会被缓存。...

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

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

    基于flink-cdc实现监控数据源的实时变更数据捕获

    总之,Flink-CDC是实现实时数据源监控和变更数据捕获的强大工具,其高效、稳定且具有广泛生态支持的特点,使得它在大数据实时处理领域具有广泛的应用前景。对于需要实现实时数据同步和ETL的企业来说,Flink-CDC是一...

    Java使用WatchService监控文件内容变化的示例

    Java中的WatchService是Java 7中引入的一种监控文件系统目录的变化的机制,可以用来监控文件的创建、删除、修改等事件。下面是使用WatchService监控文件内容变化的示例。 WatchService的使用过程可以分为三步:...

    高效SQL变更追踪工具 - DbTracer,基于MyBatis与Druid的Java源码解决方案

    - XML配置文件:7个 - 属性配置文件:3个 - SQL脚本:2个 - Markdown文档:1个 - XSD模式文件:1个 - Classpath配置:1个 - 项目配置文件:1个 DbTracer通过MyBatis插件对SQL操作进行拦截,并利用Druid强大...

    JNotify监控文件夹及文件变化.zip

    JNotify是一个用于文件系统变更通知的Java库,它提供了API来监听文件或目录的创建、删除、修改和重命名事件。本资料包“JNotify监控文件夹及文件变化.zip”包含了一整套实现这个功能的资源。 首先,让我们深入了解...

    C/C++文件监控通用DLL

    在现代软件开发中,文件监控是一项至关重要的功能,它允许程序实时追踪文件系统的变更,如文件创建、删除、修改等事件。C/C++文件监控通用DLL的出现,为开发者提供了一个强大的工具,不仅适用于C/C++本身,还能被...

    使用Java创建文件同步工具 - 一个实战教程

    创建一个Java文件同步工具涉及到文件系统的监控、文件操作和错误处理。通过实现这些功能,我们可以创建一个实用的工具,帮助用户有效地管理他们的文件同步需求。在实际开发中,还应考虑性能优化、并发处理以及可能...

    java热加载Class文件.zip

    7. **自定义热加载实现**: 对于不想使用第三方工具的情况,开发者可以自行编写代码来实现类的热加载,这通常涉及监控文件系统变更、解析Class文件以及与JVM交互等步骤,难度相对较大。 8. **性能和稳定性**:虽然热...

    weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar

    总的来说,实现WebLogic下修改Java文件后无需重启的方法多种多样,关键在于合理配置开发环境和利用服务器的热部署功能。不过,需要注意的是,这种方法虽然提高了开发效率,但在生产环境中应谨慎使用,因为热部署可能...

    文件夹监控

    文件夹监控是一种重要的系统管理工具,它允许用户或者系统管理员实时跟踪和记录指定目录下的文件和子文件夹的变动情况。这种技术在多种场景下都十分有用,例如数据备份、安全审计、软件开发过程中的版本控制,以及...

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

    在IT领域,尤其是在系统管理和软件开发中,实时监控文件或文件夹的变化是一项非常重要的任务。这可以帮助我们跟踪数据的更新、错误的发生或者程序的行为。"Dir Watcher"就是这样一个工具,它专门设计用来监视文件夹...

    Java 1.7 API 中文 帮助文档

    Java 1.7 API是Java SE 7的核心组成部分之一,为开发者提供了大量的类库和API接口,涵盖了文件I/O、网络编程、图形用户界面构建、数据库连接等多个方面。以下是Java 1.7 API中的一些关键特性和知识点: 1. **模块...

Global site tag (gtag.js) - Google Analytics