gpt4 book ai didi

java - 使用 Jnotify 忽略文件修改

转载 作者:行者123 更新时间:2023-12-01 15:54:22 24 4
gpt4 key购买 nike

我正在使用Jnotify编写一个应用程序。 (JNotify 是一个用于检测文件修改的库。)

该应用程序具有以下组件:

  1. 写入文件 X 的文件编写器

  2. 监视文件 X 的文件监视程序(使用 JNotify 创建)

  3. 根据用户要求写入文件 X 的外部应用程序(例如记事本)。

我希望 JNotify 仅当使用 3 修改 X 时才触发通知,并在通过 1 修改时忽略。(或者至少区分通过 1 和 3 进行的修改)。

有没有简单的方法可以做到这一点?一种方法是使用一个同步变量,当文件编写器写入它时,该变量会被切换,但我觉得这不是很优雅。

最佳答案

无论如何,你都需要 1 + 2 之间进行一些通信来暂时禁用 2(至于 3 你没有办法这样做)。如果 1 + 2 运行在同一个 JVM 中,当然更合适的方法是在公共(public)变量中共享某些状态。

您可能会想到其他聪明的沟通方式。我想到了一个:在 1 开始写入之前,它将生成一个锁定文件,2 也将在该文件上运行。当写入完成后锁定文件从 1 中删除时,2 可以在通知锁定文件删除后继续监听该文件。

关于java - 使用 Jnotify 忽略文件修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com