是否可以在/sys/class/gpio/gpioX
设备树中的文件上设置JAVA NIO WatchService以监督其中的更改?
直接从Java中检测GPIO文件(即GPIO输入)的变化是个好主意,但我担心不支持。
确认不支持(也许是为什么)就足够了。
答案 0 :(得分:4)
Java 7 NIO FileWatcher的linux实现使用inotify。 Inotify是一个Linux内核子系统,用于注意文件系统的变化。它有限制,不会对/ proc,/ sys和网络共享起作用。请阅读inotify limitations on wiki :
Inotify会报告sysfs和procfs中的一些但不是所有事件。
通过inotify通知要求内核了解所有内容 相关的文件系统事件,这对于联网并不总是可行的 NFS等文件系统,其中一个客户端所做的更改不是 立即向其他客户广播。
还有一点:
inotify missing events
Java WatchService doesn't work on some folders
Java WatchService not generating events while watching mapped drives