【问题标题】: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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多