gpt4 book ai didi

java - 使用 Java WatchService 监视文件夹中的文件夹

转载 作者:搜寻专家 更新时间:2023-11-01 02:50:07 30 4
gpt4 key购买 nike

我正在尝试使用 Java 7 的 WatchService 来监视文件夹。我希望它监视添加到 WatchService 注册路径中的任何文件或文件夹。

如果我将一个文件夹添加到已注册的路径,它会将其正确检测为 ENTRY_CREATE 并在 watchEvent.context() 中返回该文件夹的名称。但是,如果我向该文件夹添加一个文件夹,它会再次被检测到,但 watchEvent.context() 会返回相同的文件夹和 ENTRY_MODIFY,因为该文件夹已通过添加另一个文件夹进行了修改。

所以我明白这一点,但不知道我是否应该注册结构中的每个文件夹,或者只注册顶级文件夹并监听或创建和修改

最佳答案

没有跨平台的直接支持。对于 Windows,有一个 ExtendedWatchEventModifier.FILE_TREE 可以递归地监视目录。但是在 Mac 或 Linux 上没有等效的功能。另请注意,ExtendedWatchEventModifier 是一个扩展,而不是标准定义的一部分。

您必须监听 CREATE 和 DELETE。当创建(删除)的对象是一个目录时,需要在子目录上添加(删除)一个新的watch。

关于java - 使用 Java WatchService 监视文件夹中的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12894930/

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