假设 JNotify 正在监听名为 A 的文件夹,并且我将文件 f 从文件夹 B 复制到 A,该文件不属于 A 的子目录。JNotify 将在什么确切时间点通知。
1) 是否在开始写入新文件时,即在文件上调用 open() 写入文件时?
或
2) 是在新文件完全写入并关闭后的那一刻,即在写入完成后对文件调用 close() 时?
而且我不确定复制文件是否涉及写入文件。但我想它应该这样做。
我想知道 ubuntu(Linux) 中的场景。非常感谢任何引用。
最佳答案
JNotify 不对通知传递的确切时间做出任何保证。 通常它取决于操作系统 API,并且这些 API 也可以进行自己的缓冲(Windows 的行为与 Linux 或 Mac 不同)。
在大多数重要的文件创建和写入中,您将获得一系列事件,而不仅仅是一个。 您可能希望身边有一个计时器,以获取文件事件停止的时间点,以确定可以安全地对其进行操作。
关于java - JNotify 何时通知文件的创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37701704/