有人可以帮我将文件从共享文件夹复制到本地驱动器吗?我的代码是:

import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileInputStream;
import jcifs.smb.SmbFileOutputStream;;


public class smb {

      /**
      * @param args
      * @throws IOException
       */
      public static void main(String[] args) throws IOException {
            // TODO Auto-generated method stub


          String urlToBackUpFile = "smb://ip/backup$/test.txt";
          System.out.println("smb folder of source file" + urlToBackUpFile);
          NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, "login", "pass");


            SmbFile dir = new SmbFile(urlToBackUpFile, auth);
            System.out.println(dir.getDate());
            SmbFile dest = new SmbFile ("C:/SQLRESTORESTAGE/v2.bak");
            dir.copyTo(dest);
      }
}

文件文件未复制。我收到一条消息“无法连接到服务器”,但是程序显示源文件的dir.getDate()(以及文件名和长度)。所以我认为目标文件夹(C:/SQLRESTORESTAGE/)有问题。我也只有读取源文件的权限。您能帮我修改代码或提供建议吗?谢谢你。

最佳答案

也许将auth添加到第二个文件:

SmbFile dest = new SmbFile ("C:/SQLRESTORESTAGE/v2.bak",**auth**);

使用SmbFile dest = new SmbFile ("C:/SQLRESTORESTAGE",auth).canWrite您知道您是否对父目录具有写权限

09-26 02:58