使用minizip删除和修改zip文件

时间:2014-01-17 00:12:46

标签: c++ zlib

我用minizip编写了用zip删除文件的代码。

引用http://www.winimage.com/zLibDll/del.cpp

我必须经常删除和修改文件。

使用的zip文件是1.6 GB。

删除文件并以zip形式表示

  1. 复制整个zip文件,但要删除的文件除以新的zip文件
  2. 删除旧的zip文件。
  3. 将新的zip文件重命名为旧的zip文件。
  4. 删除和修改(删除和添加)太慢了。

    如何以zip方式更快地删除和修改文件?

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以编写自己的代码来删除zip条目。这样有点冒险,因为如果出现问题或系统在操作过程中出现故障,您将丢失文件。您当前的方法,复制zip文件,确保如果有什么东西你总是有一个好的zip文件。

.ZIP File Format Specification提供编写自己的删除工具所需的所有信息。 zip文件的结构相对简单,但需要注意细节才能完成所有可能性。

删除操作仍然需要复制已删除条目后面的所有zip文件内容。

完成此操作后,添加文件将相对较快,因为它只是在最后,并且中央目录被重写。如果删除和添加是相同的文件或文件,那么它们自然会在最后结束,而就地操作应该比复制整个zip文件更快。