JSch SFTP文件下载

时间:2013-03-22 20:17:21

标签: java get sftp jsch

我正在尝试使用JSch将文件从SFTP服务器下载到我的本地计算机。它无论文件大小如何都只下载16371字节的数据并结束传输。它不会抛出任何异常。如果文件小于16371字节,则会过度传输,但对于任何较大的文件,传输都会导致文件损坏。

2 个答案:

答案 0 :(得分:1)

实际上我设法解决了这个问题。我换了:

    SftpProgressMonitor monitor = new MySftpProgressMonitor();
    channelSftp.get(sourceFile, destFile, monitor);

使用:

    channelSftp.get(sourceFile, destFile);

删除进度监视器后,传输过程非常顺利。我想这是Jsch内部的一个错误。

答案 1 :(得分:0)

我遇到了一个特殊的sftp服务器问题。我唯一的解决方案是使用LFTP,这是一个用于自动执行SFTP任务的linux命令。如果您有Linux环境,那么它非常有用。

PHP中的示例:     $ command = set net:timeout 30; lcd $ directorioDestino; cd / Usr / companies / cdrusr357901 / CallCenterRecords /; mget {$ prefijoArchivosAuris} *;再见     lftp -u {$ this-> user},{$ this-> password} -e'$ command'sftp:// {$ this-> host}