标签: zip compression gzip unzip
我有一个app服务器,其中包含大量文件,我可能需要在运行时动态组合它们的一个子集,并将它们作为压缩文件发送到单个HTTP响应中。让我们假装这些文件是A和B.我可以预先存储它们为A.zip和B.zip并将它们组合成C.zip,其中包含A和B,或者只存储它们A和B并将它们压缩成C.zip。哪一个更快?
答案 0 :(得分:1)
他们都是个坏主意。制作带有两个文件的C.zip,A.zip和B.zip,将尝试压缩很大程度上不可压缩的文件,并且需要三个解压缩步骤来提取而不是一个。 (您可以避免浪费时间尝试使用适当的选项进行压缩以进行压缩。)提取A和B并压缩新的C会丢弃制作A和B的所有压缩工作,并在制作C时重复所有这些。
相反,您希望合并两个zip文件,假设其中没有冲突的文件名/路径。您可以使用zipmerge组合两个zip文件。
更新
好笑,我记得大约一年前我写过其中一篇。它被称为zipknit。