将本地文件夹复制到SMB服务器文件夹

时间:2018-11-25 02:16:50

标签: java samba

我是Mac用户,使用Java要将本地文件夹复制到服务器文件夹。但是我看不到服务器上的文件夹。

package com.ch.chapp.GenericFunctionsLibrary;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

public class copyDir {
    public static void main(String[] args) {
        String source = "/Users/rkan/Documents/workspace/Android-CHAPPAutomationDemo/Report";
        File srcDir = new File(source);

        String destination = "smb://mrblk/MrBlk/AutomationTestReports/CHApp";
        File destDir = new File(destination);

        try {
            FileUtils.copyDirectory(srcDir, destDir);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

1 个答案:

答案 0 :(得分:2)

URL格式smb:// ...仅受Mac桌面环境和Linux / Unix桌面环境(例如KDE和Gnome)支持,而不受支持桌面的软件(例如JDK)不支持。您需要使用JCIFS库。您可以在Stackoverflow上找到有关如何使用此库的问题,例如this one

或者,您可以使用mount命令行实用程序挂载smb共享,然后将其作为普通文件系统进行访问,但是AFAIK的初始挂载需要sudo访问。