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