有人可以帮我将文件从共享文件夹复制到本地驱动器吗?我的代码是:
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
您知道您是否对父目录具有写权限