Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何下载scp文件夹?_Java_Scp - Fatal编程技术网

Java 如何下载scp文件夹?

Java 如何下载scp文件夹?,java,scp,Java,Scp,我使用了“SCP”方法“download()”。 然而,这种方法是文件下载。 我想知道文件夹下载。。。 请回答我。。多谢各位 //范例 private boolean readFolderSCP(String localFolder, String remoteFolder) { ssh.authPassword(param.getUsername(), param.getPasswd()); File scpfile = new File(remoteFolder); if

我使用了“SCP”方法“download()”。 然而,这种方法是文件下载。 我想知道文件夹下载。。。 请回答我。。多谢各位

//范例

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;
}
private boolean readFolderSCP(String localFolder,String remoteFolder)
{
ssh.authPassword(param.getUsername(),param.getPasswd());
文件scpfile=新文件(远程文件夹);
if(scpfile.isDirectory())
{
字符串scpfiles[]=scpfile.list();

for(int i=0;iSCP并不是真正设计用于目录列表的,因为它几乎只是一个文件复制协议。因此,除非您确切地知道自己在寻找什么,否则很难从目录中获取大量文件

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


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

您使用哪个库来执行SCP?