我如何scp文件夹下载?

时间:2013-01-30 03:18:02

标签: java scp

我用'SCP'方法“下载()”。 但是,此方法是文件下载。 我想知道文件夹下载... 请回答我..谢谢。

//示例

private boolean readFolderSCP(String localFolder, String remoteFolder)
{
   ssh.authPassword(param.getUsername(), param.getPasswd());
   File scpfile = new File(remoteFolder);
   if (scpfile.isDirectory())
   {
     String scpfiles[] = scpfile.list();
     for (int i=0; i<scpfiles.length; i++)
     {
        File remotefile = new File(remoteFolder+"/"+scpfiles[i]);
        if (remotefile.isFile())
        {
          ssh.newSCPFileTransfer().download(remoteFolder+"/"+scpfiles[i], new FileSystemFile(localFolder+"/"+scpfiles[i])); 
        } 
     }
   }    
   return true;
}

那是对的吗?

1 个答案:

答案 0 :(得分:0)

SCP并不是真正设计用于目录列表,因为它几乎只是一个文件复制协议。因此,除非您确切知道要查找的内容,否则很难从目录中获取大量文件。

您编写的代码肯定无法获得远程目录列表,因为对new File(remoteFolder)的初始调用将查看您的本地系统,而不是远程系统。

SFTP具有与SCP相同的安全性(它基于SSH协议),并包含FTP的所有命令,包括目录列表。我会查看您的图书馆文档,并尝试使用SFTP而不是SCP编写命令。