1

真的很奇怪,为什么 zehon 会返回我的日食位置,以及我的 SFTP 密码作为FileSystemException 的一部分

我检查了远程主机确实是一个 SFTP 服务器,并且客户端正在使用 SFTP 进行连接。

Zehon API在这里

堆栈跟踪

 Reading file from C:\srcFolde\FileToBeUploaded.zip
    com.zehon.exception.FileTransferException:
    org.apache.commons.vfs.FileSystemException: 
    Unknown message with code:
        "C:<location of eclipse>/<sftp password>?" does not exist
        at int result = sftp.sendFile(filePath, ftpDestFolder);

代码

SFTPClient sftp = new SFTPClient(ftpServer, 22, ftpUserName, ftpPassword, true);
        FileInputStream fis = null;
        try {
            fis = new FileInputStream(fileName);                
            String filePath=fileName.substring(0, fileName.length()-4) + ".zip";
            String ftpDestFolder="\\sftpDestFolder";
            int result = sftp.sendFile(filePath, ftpDestFolder);
            Logger.debug("sftp result = " + result);
        } catch (FileTransferException e) {
            e.printStackTrace();
            return false;
        } finally {
            try {
                if (fis != null) {
                    fis.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
4

1 回答 1

1

您使用了错误的构造函数。来自 Javadocs

http://www.zehon.com/javadocs/com/zehon/sftp/SFTPClient.html

你已经通过ftpPassword了它所期望的地方privateKeyPath

于 2013-03-28T14:24:20.120 回答