当我尝试将文件移动到win xp中的共享文件夹时,我遇到了问题。
我的代码是下一个
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileOutputStream;
import java.io.File;
import java.io.FileInputStream;;
public class UnidadRed {
//public static void main(File enviado) throws Exception {
public static void main(String arg[]) throws Exception {
String enviado = "C:\\Documents and Settings\\u2d8301\\Escritorio\\probando\\estadisticas.txt";
String salida = "smb://172.22.224.64/Color";
//Config.setProperty("jcifs.smb.client.domain", "NTDOMAIN");
Config.setProperty( "jcifs.smb.client.username", "name");
Config.setProperty( "jcifs.smb.client.password", "password");
//Config.setProperty( "jcifs.netbios.wins", "172.22.224.64");
System.out.println("Copiando fichero ''" + enviado + "'' a ''" +salida + "''");
try {
FileInputStream in = new FileInputStream(enviado);
SmbFileOutputStream out = new SmbFileOutputStream(salida);
byte[] buf = new byte[1024 * 16];
int len, total=0;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
total+=len;
}
in.close();
out.close();
System.out.println(total + " bytes copiados.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
我尝试将txt移动到将自动打印文件的文件夹,当我执行时出现下一个失败:
Copiando fichero ''C:\Documents and Settings\u2d8301\Escritorio\probando \estadisticas.txt'' a ''smb://172.22.224.64/Color''
jcifs.smb.SmbException: Access is denied.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563)
at jcifs.smb.SmbTransport.send(SmbTransport.java:663)
at jcifs.smb.SmbSession.send(SmbSession.java:238)
at jcifs.smb.SmbTree.send(SmbTree.java:119)
at jcifs.smb.SmbFile.send(SmbFile.java:775)
at jcifs.smb.SmbFile.open0(SmbFile.java:989)
at jcifs.smb.SmbFile.open(SmbFile.java:1006)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:97)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:82)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:54)
at apliSep.UnidadRed.main(UnidadRed.java:25)
我正确地输入了名称和密码,因为如果尝试无效的登录/密码会出现不同的消息。
我的问题是:
在config.setProperty中是否需要其他参数?
谢谢大家。
答案 0 :(得分:2)
我认为您的问题已解决here。您无法为目录创建SmbFileInputStream,因此请查看该链接并更改SmbFile的SmbFileInputStream。