如何判断是否使用Java远程挂载目录

时间:2010-01-27 22:09:21

标签: java mount

有没有办法以编程方式确定特定目录是否实际远程安装?这可以用Java完成,如果没有,可以用JNI上的本机C代码完成吗?

由于这是Java,它可以在Linux或Windows或Mac下运行,因此正确的解决方案需要解决所有这些平台。 (再次,如果它的多个单独的解决方案与C在JNI上就可以了)。并且可能存在不同的情况,例如NFS或samba或其他任何情况。

感谢。

3 个答案:

答案 0 :(得分:2)

对于Linux,可能还有Macintosh,您可以通过JNI使用系统库。 相关的系统调用是getmntentdescribed 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中,因为它们也会支持符号链接。