java - 在 Linux 64 位上用 Java 监视文件

标签 java linux

我希望在创建、删除或更改文件时收到通知,但不使用轮询机制。

我调查了可以使用的相关 Java API。(例如:JNotify、JPathWatch 和 JXFileWatcher)

这些 API 通过使用操作系统上的 native 组件来提供文件监控。但我遇到了同样的问题,就是它们不能在 Linux 64bits 上运行,因为那些 API 中的原生组件不支持 Linux 64bits,这让我困惑了很长时间。

我也知道在 JDK7 中会有一个 WatchService API 作为 NIO2 的一部分,但是 JDK7 还没有发布。

那么,有人可以建议我更好的解决方案吗?非常感谢。

最佳答案

你试过了吗inotify-java

此外,据我所知,JNotify 的 native 组件包含在 C 源代码中,因此您可以针对任何平台自行编译它。

关于java - 在 Linux 64 位上用 Java 监视文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2962951/

相关文章:

linux - RTMP_ReadPacket,读取RTMP包头失败 rtmp ://a. rtmp.youtube.com/live2: Unknown error occurred

java - 无法让 Intellij 使用 AspectJ 编译器

java - 如何序列化稍后发送的 HttpPost 请求

java - 在 JSF 中,我可以在 URL 中隐藏 XHTML 文件的部分目录层次结构吗?

java - 2.1.1 中的 Akka 库中不存在 IndirectActorProducer 类

python - 如何选择下拉选项 1 并搜索直到最后一个选项,一旦页面重新加载,下一次循环失败,找到下拉选项

linux - 如何在 Linux 中为日志文件中的文本着色

java - 如何从 Thymeleaf 模板访问库 JAR 文件中的样式表?

c - 系统调用在 Linux 上的哪个库中?这个库如何链接到包含系统调用的可执行目标文件?

linux - 为什么zookeeper不使用我的log4j.properties文件日志目录