2017-07-10 5 views
0

いくつかのチェックを実行した後、使用して、同じリモートサーバーへのリモートサーバー:リモートサーバーに格納されたファイルを1)同じリモートサーバー内の別のフォルダにコピーする方法2)希望する場所にローカルに配置する方法

File localFile = new File(srcPath); 
sftpChannel.put(localFile.getAbsolutePath(),localFile.getName()); 

は私もget()メソッドを使用して、私のローカルマシンにそれらの選択したファイルをコピーしようとしています。

誰かが助けることができますか?

+1

ようこそを参照してください!あなたの問題に関連する詳細情報を含めてください。 –

+0

パート2で意味することを理解していませんが、 –

答えて

0

コアSFTPプロトコルは、リモートファイルの複製をサポートしていません。

copy-file extension to the protocolという草案がありますが、これは少数のSFTPサーバー(例えばProFTPD/mod_sftpとBitvise SFTPサーバーなど)によってのみサポートされています。

JSchライブラリでは、copy-fileの拡張子もサポートされていません。

代替:

  • あなたがシェルアクセスを持っている場合は、「EXEC」チャネルを開き、(サーバーのOSまたは同等のコマンド)シェルcpコマンドを使用します。
    Exec.java exampleを参照してください。
  • それ以外の場合は、ファイルをローカルの一時的な場所にダウンロードし、そのコピーを別の/ターゲットリモートディレクトリにアップロードすることのみが可能です。または、一時ファイルを避けるためにストリームを使用してください。

もStackOverflowのにHow can I copy/duplicate a file to another directory using SFTP?

関連する問題