使用minizip删除和修改zip中的文件
delete and modify file in zip with minizip
我编写了用minizip删除zip中的文件的代码。
被引用的http://www.winimage.com/zLibDll/del.cpp
我必须经常删除和修改zip中的文件。
使用的zip文件是1.6GB。
删除文件和zip意味着
- 将除要删除的文件外的整个zip文件复制到新的zip文件
- 删除旧的zip文件
- 将新的zip文件重命名为旧的zip文件
删除和修改(删除和添加)太慢。
如何在zip中更快地删除和修改文件?
有什么想法吗?
您可以编写自己的代码来删除zip条目。这是一个更大的风险,因为如果出现问题或系统在操作过程中出现故障,您将丢失文件。您当前的方法,即复制zip文件,可以确保在出现问题时始终有一个好的zip文件可用。
.ZIP文件格式规范提供了编写自己的deleter所需的所有信息。zip文件的结构相对简单,但要处理所有可能的问题,需要注意细节。
删除操作仍然需要向下复制已删除条目后面的所有zip文件内容。
这样做后,添加一个文件的速度会相对较快,因为它只是在最后进行,并且中心目录会被重写。如果删除和添加是同一个或多个文件,那么它们自然会在最后结束,并且就地操作应该比复制整个zip文件更快。
相关文章:
- 捕获标准输出以压缩并使用 CTRL-C 中断会给出损坏的 zip 文件
- 使用 Poco::Zip 将文件附加到现有 zip 文件
- 无法在 Cocos2dx 中使用受密码保护的 zip 文件
- 如何使用 Poco::ZIP 压缩/解压缩 zip 文件
- cpp libcurl 在 HTTP post 调用中发送 zip 文件,而不使用 multipart\form-da
- 有谁知道ziplib是否能够在不实际提取所有文件的情况下验证zip库
- 使用 libzip 打开 zip 文件时遇到问题
- 如何使用 "DFLT-X" 方法编写 Zip 文件
- C++ 使用Powershell命令提取zip文件
- 尝试使用 wxWidgets 从 zip 打开不存在的文件时无法捕获的异常
- 如何在 mfc c++ 中流式传输.zip文件夹的二进制表示形式
- 如何解决系统.Zip.TZipFile.ExtractAll无法从.zip文件中提取所有数据的问题
- 如何在视觉工作室中使用C++解压缩压缩文件 (.zip)
- 需要正则表达式来提取zip文件中的所有文件
- 只读二进制zip文件的一部分
- 如何使用 C/C++检查 ZIP 文件(Office Open XML 文件)的完整性
- 如何使用 zlib.h 库将.zip文件解压缩到文件夹中
- 从本地代码访问apk中的压缩文件(从zip中读取zip)
- 使用minizip删除和修改zip中的文件
- 如何使用 zlib 在 zip 文件中添加/删除特定文件