为什么不能在不重新压缩整个文件的情况下修改zip文件?

时间:2018-02-09 06:41:07

标签: zip compression zipfile

修改或更改zip文件基本上不能在同一个文件上完成。为了能够做到这一点,通过重新压缩整个内容,将旧文件和新更改放入新的zip文件中。我想知道为什么这是必要的?为什么不能在不重新压缩整个文件的情况下修改zip文件?

2 个答案:

答案 0 :(得分:2)

经过一番研究后,似乎并非如此。事实上,Zip文件允许您添加/删除文件而无需重新压缩整个存档。在最常用的压缩算法“DEFLATE”中,每个文件首先被自己压缩,然后将结果连接在一起。这意味着在查找多个文件中的模式方面会丢失一些潜力,但它确实提供了更好的灵活性,这与zip文件的最常见用例相匹配。因此,当您添加新文件时,您只需单独压缩该单个文件,然后将其添加到存档中。这与其他格式(如.tar.gz)形成对比,其中所有文件首先连接在一起(.tar),然后将结果压缩在一起。

来源:https://en.wikipedia.org/wiki/Zip_(file_format)

答案 1 :(得分:1)

zip文件格式旨在允许修改条目(更改,删除,添加),而不必重新压缩其他条目。所以你错了。您只需要将部分或全部zip文件内容复制到同一文件或不同文件中,但不需要重新压缩未更改的条目。