1

いくつかのファイルが含まれ、ftpの場所にあるフォルダーをzip形式で圧縮したかったのです。FTPの場所でフォルダを圧縮する方法。

 FTPClient ftp = new FTPClient();
 ftp.connect(hostname);
 ftp.login(user, pass);
 ftp.changeWorkingDirectory("myfolder"); //I wanted to zip this "myfolder"

ありがとう。

4

3 に答える 3

3

ファイルのダウンロード、ローカルでの圧縮、アップロードのプロセスは思い通りに機能しますが、接続速度によっては時間がかかる場合があります。

マシンに SSH アクセスできる場合は、それを利用することを強くお勧めします。Java 用の SSH ライブラリ ( SSHJなど) を使用して、フォルダーに対して zip コマンドを実行できます。これにより、サーバーはローカルでファイルを圧縮するようになり、はるかに高速になります。

于 2012-11-18T18:10:18.913 に答える
0

FTPはファイル転送のみを扱います。したがって、ファイルをダウンロードまたはアップロードすることはできますが、それ以上のことはできません。何かを圧縮したい場合は、それをコントロールのマシンにダウンロードして、そこで圧縮する必要があります。または、他のプロトコルを使用してマシン(ssh/リモートデスクトップ/telnet /実装するもの)にアクセスし、リモートでzipすることもできますが、FTP経由ではありません。

于 2012-11-18T18:01:53.053 に答える
0

FTP プロトコル コマンドのリストを見てください。そこには ZIP に関する記述はありません。そしてFTPClient、FTP プロトコルができることしかできません。あなたがしなければならないことは次のとおりです。

  • ZIPしたいフォルダの内容をダウンロードする
  • ローカルで圧縮
  • アップロード、必要に応じて元のフォルダーを削除

もちろん、これをコード/ライブラリの疑似 FTP コマンドでラップすることもできます。

于 2012-11-18T18:03:23.467 に答える