1

我想压缩一个文件夹,其中包含一些文件并且存在于 ftp 位置。我如何在 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 / 你实现的任何东西)并远程压缩它,但这不会通过 FTP。

于 2012-11-18T18:01:53.053 回答
0

查看FTP 协议命令列表- 那里没有关于 ZIP 的内容。而且FTPClient只能做FTP协议能做的。你要做的是:

  • 下载要压缩的文件夹的内容
  • 本地压缩
  • 上传,可选择删除原始文件夹

当然,您可以将其包装在代码/库中的伪 FTP 命令中。

于 2012-11-18T18:03:23.467 回答