使用minizip删除和修改zip中的文件

delete and modify file in zip with minizip

本文关键字:文件 zip 修改 minizip 删除 使用      更新时间:2023-10-16

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

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

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

使用的zip文件是1.6GB。

删除文件和zip意味着

  1. 将除要删除的文件外的整个zip文件复制到新的zip文件
  2. 删除旧的zip文件
  3. 将新的zip文件重命名为旧的zip文件

删除和修改(删除和添加)太慢。

如何在zip中更快地删除和修改文件?

有什么想法吗?

您可以编写自己的代码来删除zip条目。这是一个更大的风险,因为如果出现问题或系统在操作过程中出现故障,您将丢失文件。您当前的方法,即复制zip文件,可以确保在出现问题时始终有一个好的zip文件可用。

.ZIP文件格式规范提供了编写自己的deleter所需的所有信息。zip文件的结构相对简单,但要处理所有可能的问题,需要注意细节。

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

这样做后,添加一个文件的速度会相对较快,因为它只是在最后进行,并且中心目录会被重写。如果删除和添加是同一个或多个文件,那么它们自然会在最后结束,并且就地操作应该比复制整个zip文件更快。