我需要使用iOS替换zip上的文件。我尝试了许多库,但都没有结果。唯一做到这一点的是zipzap (https://github.com/pixelglow/zipzap),但这个对我来说并不好,因为真正做的是重新压缩文件,而且这个过程对我来说很慢,也会把整个文件加载到内存中,使我的应用程序崩溃。
PS:如果这是不可能的或复杂的方式,我可以解决重命名或删除一个特定的文件。
发布于 2013-07-16 11:40:07
让它工作了!!JXZip (https://github.com/JanX2/JXZip)做的正是我需要的,他们链接到libzip (http://www.nih.at/libzip/),这是一个用来处理压缩文件的全功能库,JXZip有所有必要的Objective-C包装器代码。谢谢你所有的回复。
发布于 2013-07-15 19:57:23
您需要找到一个框架,您可以在其中修改数据的读取和写入方式。然后,您将使用某种形式的mmap来实质上读写小块。在NSData和mmap上搜索会得到这个Post,但是您也可以从posix级别使用mmap。Ps它将比使用纯内存慢得多,这是没有办法的。
发布于 2013-08-21 08:27:06
出于存档目的,作为zipzap的作者
实际上,zipzap做的正是你想要的。如果您替换zip文件中的条目,zipzap将执行更新它所需的最小操作:它将跳过写入被替换条目之前的所有条目,然后写出该条目,然后写出被替换条目之后的所有条目,而不重新压缩。目前,它确实需要足够的内存来存储被替换的条目之后的条目。
https://stackoverflow.com/questions/17648551
复制相似问题