java - JNotify 何时通知文件的创建

标签 java linux ubuntu jnotify

假设 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/

相关文章:

java - 为什么我们需要通配符捕获?

java - eclipse RCP、SWT、JFace : How to create a dialog that is modal only to a view (not the entire shell)?

Linux 设备树 (AD5628)

c - 线程入口函数和普通函数有什么区别?

c - 读取 ELF 部分的内容(以编程方式)

java - 如何解释以下 Spring EL

ruby - jRuby 和 Matz 的 Ruby 在同一台机器上?

ubuntu - 在 ubuntu 桌面 22.04 上安装 pgadmin4-web

linux - 我需要安装 unison 多少次?

java - 如何使用反射来识别带注释的方法?