有没有办法以编程方式确定特定目录是否实际远程安装?这可以用 Java 完成吗?如果不能,可以用 JNI 上的本机 C 代码完成吗?
由于这是 Java,它可以在 Linux、Windows 或 Mac 下运行,因此需要一个合适的解决方案来解决所有这些平台。(同样,如果它的多个单独的解决方案使用 C over JNI 就可以了)。并且可能存在不同的情况,例如 NFS 或 samba 或其他任何情况。
谢谢。
对于 Linux,可能还有 Macintosh,您可以通过 JNI 使用系统库。相关的系统调用是getmntent
,描述here。
mntent
您可以使用一个字段来检查挂载点是来自设备还是服务器,mnt_fsname
在类似的字段中您可以获取文件系统类型,“mnt_type”
对于 Linux,您可以解析 /etc/mtab 以查找文件系统类型(nfs、smb 等)并将其与程序中已知的网络文件系统类型进行匹配。
编辑:第 2 列是您在 /etc/mtab 中想要的
我也需要它,并且最终可能会使用以下命令来实现它:
df -k
这适用于 Linux、Mac OS 和 Solaris。
也许这是将添加到 JDK 7 中的其他内容,因为它们也将支持符号链接。