0

'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;
}

それは正しい?

4

1 に答える 1

0

SCP は、ほとんど単なるファイル コピー プロトコルであるため、実際にはディレクトリの一覧表示を行うようには設計されていません。したがって、探しているものを正確に把握していない限り、ディレクトリから多数のファイルを取得することは非常に困難です。

new File(remoteFolder)最初の呼び出しでリモート システムではなくローカル システムが参照されるため、記述されたコードではリモート ディレクトリの一覧を取得できません。

SFTP は SCP と同じセキュリティを持ち (SSH プロトコルに基づいています)、ディレクトリ リストを含む FTP 用のすべてのコマンドが含まれています。ライブラリのドキュメントを確認し、SCP の代わりに SFTP を使用してコマンドを記述してみます。

于 2013-01-30T04:16:11.740 に答える