2010-01-27 107 views
7

有没有一种方法可以以编程方式确定某个特定目录是否实际上是远程挂载的?这可以用Java来完成,如果不能,可以通过JNI使用原生C代码完成?如何判断一个目录是否使用Java远程挂载

由于这是Java,它可以在Linux或Windows或Mac下运行,因此需要解决所有这些平台的问题。 (再次如果它的多个单独的解决方案与C通过JNI可以)。并且可能会出现不同的情况,比如使用NFS或samba或其他任何情况。

谢谢。

回答

2

对于Linux,可能还有Macintosh,您可以通过JNI使用系统库。 相关的系统调用是getmntentdescribed here

有在mntent一个领域,你可以用它来检查,看看是否安装点是从设备或服务器,mnt_fsname,在类似的领域,你可以得到的文件系统类型,`mnt_type”

0

对于Linux,可以解析的/ etc/mtab中找到文件系统类型(NFS,SMB等),并在你的程序符合它针对已知的网络文件系统类型

编辑:第2列是你在/ etc想要什么/ mtab中

0

我也需要这个,并可能最终使用这个命令来实现它:

df -k

这适用于Linux,Mac OS和Solaris。

也许这是别的东西,将被添加到JDK 7,因为它们也将支持符号链接。

相关问题