我编写了一个zip类,它使用miniz中的函数和代码来:打开存档,关闭存档,在存档中打开文件,关闭存档中的文件,然后写入存档中当前打开的文件。
当前打开存档中的文件会覆盖它(如果已存在)。我想知道是否可以APPEND到已经关闭的zip存档中的文件?
我想说这是可能的,但我必须编辑其他文件的每个内部状态和中心目录中的所有偏移量。如果可能的话 - 这是正确的路径吗?
注意: 我处理大文件,因此再次解压缩和压缩并不理想,也没有进行任何文件复制。我只想在zip存档中“打开”一个文件,继续将压缩数据写入其中。
答案 0 :(得分:1)
我只想在zip存档中“打开”一个文件,继续将压缩数据写入其中。
压缩文件无法像文件系统或文件夹那样工作,您可以在其中更改单个文件。他们保持例如检查总和,需要申请整个档案。
所以不,你不能做这样的 inplace ,但必须解压缩压缩文件,应用你的更改并再次压缩所有内容。