我在依赖inotify事件的JDK7中使用Watcher。如果文件位于NFS上,则我希望程序回退并使用轮询代替。有没有一种方法可以检测文件是否在远程驱动器上(除了使用Runtime.exec并分析装入表以外)?我现在只关心Linux兼容性。

我想一个选择是在程序启动时同时使用inotify和polling,但是如果为我的文件创建了inotify事件,则禁用轮询线程。

最佳答案

您应该能够通过FileStore.type()获得有关基础文件系统类型的相对可靠的信息。

它肯定会告诉您它是NFS还是CIFS,不确定其他网络安装类型。

但是我没有关于它的可靠性的信息,@ hoaz建议检查事件是否正在进行可能是一个好主意。

关于java - 在Java中检测远程文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22137854/

10-14 19:28
查看更多