我想压缩一个文件夹,其中包含一些文件并且存在于 ftp 位置。我如何在 FTP 位置压缩文件夹。
FTPClient ftp = new FTPClient();
ftp.connect(hostname);
ftp.login(user, pass);
ftp.changeWorkingDirectory("myfolder"); //I wanted to zip this "myfolder"
谢谢。
虽然下载文件、在本地压缩文件和上传文件的过程将完全按照您的意愿进行,但这可能需要很多时间,具体取决于您的连接速度。
如果您对机器有 SSH 访问权限,我强烈建议您使用它。您可以使用 Java 的 SSH 库(如SSHJ)并在文件夹上运行 zip 命令。这将使服务器在本地压缩文件,这会更快。
FTP 只处理文件传输。因此,您可以下载或上传文件,但仅此而已。如果你想压缩一些东西,你必须将它下载到你控制的机器上并在那里压缩。或者,您可以使用其他协议来访问机器(ssh / 远程桌面 / telnet / 你实现的任何东西)并远程压缩它,但这不会通过 FTP。
查看FTP 协议命令列表- 那里没有关于 ZIP 的内容。而且FTPClient
只能做FTP协议能做的。你要做的是:
当然,您可以将其包装在代码/库中的伪 FTP 命令中。