【问题标题】:Java: File Renaming DetectionJava:文件重命名检测
【发布时间】:2011-10-28 20:33:41
【问题描述】:

有没有办法使用 Java 检测文件重命名? (NIO 的 WatchService API 或任何其他) 从我在重命名文件时看到的情况来看,发生了两个单独的事件 - ENTRY_DELETE,然后是 ENTRY_CREATE。

【问题讨论】:

    标签: java file rename nio detect


    【解决方案1】:

    看看jpathwatch。除了在 Java 7 (ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY) 中指定的标准监视事件类型之外,它还具有称为 ENTRY_RENAME_FROMENTRY_RENAME_TO 的附加事件,这些事件将在文件重命名时触发。请注意,这取决于底层操作系统是否支持文件重命名事件。

    【讨论】:

      【解决方案2】:

      检测文件重命名不能移植。因为,看起来令人惊讶的是,文件 HAS-A 名称是不可移植的。大多数 Unix 文件系统允许文件具有任意数量的关联名称(包括零名称)。在 Unix (POSIX) 世界中,重命名意味着添加一个新名称,然后删除原来的名称。

      【讨论】:

        【解决方案3】:

        我认为jnotify 在您的情况下会很有用。

        【讨论】:

          猜你喜欢
          • 2018-12-11
          • 2023-03-21
          • 1970-01-01
          • 1970-01-01
          • 2011-12-17
          • 2021-10-17
          • 1970-01-01
          • 2010-11-12
          相关资源
          最近更新 更多