适用于UNIX sys / classes / gpio文件的NIO watchservice

时间:2015-05-12 12:21:01

标签: java nio gpio watchservice

是否可以在/sys/class/gpio/gpioX设备树中的文件上设置JAVA NIO WatchService以监督其中的更改?

直接从Java中检测GPIO文件(即GPIO输入)的变化是个好主意,但我担心不支持。

确认不支持(也许是为什么)就足够了。

1 个答案:

答案 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