0

我需要使用 iOS 替换 zip 上的文件。我尝试了许多库,但没有结果。唯一能做到这一点的方法是 zipzap ( https://github.com/pixelglow/zipzap ),但这对我没有好处,因为真正要做的是重新压缩文件并进行更改,除此之外这个过程对我来说会变慢,还会做一些将整个文件加载到内存中并使我的应用程序崩溃的事情。

PS:如果这不可能或太复杂,我可以解决重命名或删除特定文件。

4

3 回答 3

0

得到它的工作!JXZip ( https://github.com/JanX2/JXZip ) 正是我所需要的,它们链接到 libzip ( http://www.nih.at/libzip/ ),这是一个用于处理 ZIP 文件的设备齐全的库和 JXZip 拥有所有必要的 Objective-C 包装代码。感谢所有回复。

于 2013-07-16T03:40:06.943 回答
0

出于存档目的,作为zipzap的作者:

实际上 zipzap 正是你想要的。如果您替换 zip 文件中的条目,zipzap 将做最少的必要更新:它会跳过写入被替换条目之前的所有条目,然后写出该条目,然后在不重新压缩的情况下写出被替换条目之后的所有条目。目前,它确实需要足够的内存来存储替换条目之后的条目。

于 2013-08-21T00:27:06.210 回答
0

您需要找到一个框架,您可以在其中修改数据的读取和写入方式。然后,您将使用某种形式的 mmap 来读取和写入小块。在 NSData 和 mmap 上搜索得到了这个Post,但是您也可以从 posix 级别使用 mmap 。Ps 这将比使用纯内存慢。

于 2013-07-15T11:57:22.917 回答