2

当我尝试将文件移动到 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 中是否需要其他参数?

感谢你所做的一切。

4

1 回答 1

2

我认为您的问题在这里解决了。您无法为目录创建 SmbFileInputStream,因此请查看链接并将 SmbFileInputStream 更改为 SmbFile。

于 2013-04-22T07:39:46.053 回答