用于快速提取zip的库

时间:2013-02-07 18:43:15

标签: c++ c zip in-memory

我有一个相当大的ZIP文件,它被下载(无法更改文件)。现在的任务是在文件下载时解压缩文件而不必等到收到中心目录结束。 这样的图书馆存在吗?

2 个答案:

答案 0 :(得分:2)

一段时间我写了“捏”。它是在Objective-C中,但是从zip解码文件的方法可能是一种在C ++中获取它的方法吗?是的,一些编码是必要的。

http://forrst.com/posts/Now_in_ObjC_Pinch_Retrieve_a_file_from_inside-I54 https://github.com/epatel/pinch-objc

答案 1 :(得分:1)

我不确定这样的库是否存在。除非你处于一个非常快的线路上[或处理器速度很慢],否则它不可能为你节省大量时间。如果所有数据都在ram中,则解压缩几千兆字节只需要几秒钟[可能需要一段时间才能将未压缩的数据写入磁盘,而从磁盘加载它可能会增加总时间]。

但是,假设发送端支持“范围”下载,您可能会首先编写下载目录的内容[首先读取固定标题,然后读取目录,然后从头到尾下载文件的其余部分] 。据推测,这与epatel的答案中的“捏”有关。