11得票1回答
Java7的WatchService - 如何检测实际监视目录的重命名/移动

我正在使用WatchService来同步数据文件和应用程序工作台。当我重命名/移动被监视的目录时,我没有收到任何事件,也没有WatchKey变得无效。我仍然可以从重命名后的目录中获取事件,但据我所知,除了WatchKey.watchable()之外,找不到WatchKey的实际路径,但这仍然返...

7得票1回答
如何正确处理watchservice中的pollEvents()溢出类型?

我正在使用一个观察服务来监视目录并在新文件创建时触发逻辑。我最近遇到的一个挑战是当大量需要处理的文件太快地复制到观察目录中时触发了溢出。 API关于溢出的说明如下: 文件系统可能报告事件的速度比检索或处理速度更快,实现可能对它所能积累的事件数量施加未指定的限制。如果一个实现明知道丢弃事件,...

87得票8回答
我可以使用WatchService观察单个文件的更改吗?(而不是整个目录)

当我尝试注册文件而不是目录时,会抛出java.nio.file.NotDirectoryException。我能监听单个文件的更改,而不是整个目录吗?

7得票1回答
WatchService - 解析绝对路径错误

我一直在尝试使用java.nio.file.WatchService并注意到从WatchEvent.context()返回的Path不会返回正确的.toAbsolutePath()。以下是一个示例应用程序: public class FsWatcher { public static v...

13得票3回答
使用Java监视服务监视子文件夹

我正在使用watchKey来监听特定文件夹中的文件更改。Path _directotyToWatch = Paths.get("E:/Raja"); WatchService watcherSvc = FileSystems.getDefault().newWatchService(); Wa...

9得票2回答
当向监视文件夹添加新文件时,Java NIO watch Service会同时创建“ENTRY_CREATE”和“ENTRY_MODIFY”吗?

我注意到使用java.nio.file.WatchService时出现了奇怪的行为(不确定这是否是预期行为)。 问题在于我已经注册了一个带有WatchService的文件夹。 当我将新文件复制到此文件夹中时,会生成两个WatchEvent事件,分别是: 'ENTRY_CREATE'和'EN...

44得票15回答
Java 7的WatchService - 忽略相同事件的多次发生

StandardWatchEventKinds.ENTRY_MODIFY的Javadoc说明: 目录条目已修改。当为此事件注册目录时,当观察到目录中的条目已被修改时,将排队WatchKey。此事件的事件计数为1或更大。 当您通过编辑器编辑文件的内容时,它会同时修改日期(或其他元数据...

8得票3回答
Java 7 NIO 的监视服务与 jpathwatch 相比如何?

我正在参与的项目一直使用Java 6和jpathwatch (.95),现在正在升级为Java 7。目前在Windows 7和2008 Server上运行。我正在重构部分代码以使用新的Java 7 NIO,这相对来说是比较简单的 - 甚至可以使用NIO.2替换jpathwatch。然而,我们代...

9得票2回答
WatchService 有时会触发两次,有时只触发一次 ENTRY_MODIFY。

我正在使用来自Oracle的WatchService示例: import java.nio.file.*; import static java.nio.file.StandardWatchEventKinds.*; import static java.nio.file.LinkOptio...

9得票2回答
Java I/O:在任何读写操作之前确保文件未被其他进程锁定

我在使用Java 7 WatchService API跟踪目录中文件内容的应用程序中遇到了一个反复出现的问题。当底层文件系统在文件上触发修改事件时,我想立即计算其SHA-256。 但经常出现另一个进程打开了该文件(例如Word),从而持有独占锁,防止我的应用程序进行任何读/写操作。如果针对已...