【问题标题】:How can I mount network drive in Mac OS X on Java?如何在 Java 上的 Mac OS X 中挂载网络驱动器?
【发布时间】:2011-01-19 22:59:06
【问题描述】:
我正在为 Mac OS X 的 Windows XP 平台上的 JBuider 2005 编写一个程序。程序必须在 Mac OS X 上启动并且程序转向(直接)以共享网络中其他计算机(Windows XP)上的文件夹。然后我们需要在 Mac OS X 上启动 nprogramme,该程序会在 Mac OS X 下自动挂载这些共享文件夹。然后程序转到共享文件夹上的文件,程序中的路径将是“/Volumes/Share folder/File”。我怎样才能做到?如果有人知道该怎么做,请帮忙。
【问题讨论】:
标签:
java
macos
networking
mount
drive
【解决方案1】:
如果是要挂载的afp-volume,代码如下:
Process p1 = Runtime.getRuntime().exec("/bin/mkdir /Volumes/<mountName>");
p1.waitFor();
Process p2 = Runtime.getRuntime().exec(new String[] {"/sbin/mount_afp","-i","afp://<user>:<passwd>@url.of.serv.er/mountPath/","/Volumes/<mountName>/"});
p2.waitFor();
如果是smb-mount,那么代码如下:
Process p3 = Runtime.getRuntime().exec("/bin/mkdir /Volumes/<mountName>");
p3.waitFor();
Process p4 = Runtime.getRuntime().exec(new String[] {"/sbin/mount","-t","smbfs","//<user>:<passwd>@url.of.serv.er/mountPath/","/Volumes/<mountName>/"});
p4.waitFor();
【解决方案2】:
也许运行一些让 Finder 挂载共享文件夹的 AppleScript。这个article 描述了从Java 程序运行AppleScript。
或者运行一个shell脚本:
mount -t smbfs //user@server/share folder