首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从zip归档文件中提取zip文件,而无需将整个文件加载到内存中

从zip归档文件中提取zip文件,而无需将整个文件加载到内存中
EN

Stack Overflow用户
提问于 2011-03-11 05:57:06
回答 2查看 1.8K关注 0票数 4

在Adobe AIR中,有没有办法从zip文件中提取单个文件?

我正在使用NoChumps压缩程序库从压缩包中提取文件。在这个库中,整个IDataStream被加载到内存中,之后您可以轻松地提取文件条目。在压缩为5到10MB的情况下,没有问题。但是当zip是80MB时,80MB被加载到内存中。这会导致应用程序在移动设备上崩溃并运行缓慢。根据zip规范,

ZIP文件通过位于文件末尾的中央目录来识别,这允许追加新文件。该目录存储ZIP文件中存储的条目(文件或目录)的名称列表,以及有关该条目的其他元数据,以及指向实际条目数据的ZIP文件中的偏移量。

此外,我无法控制压缩文件的大小,但大多数平均是60到100MB。里面的文件大约是4MB。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-11 16:15:49

这对于Flex是不可能的,但是对于AIR是可能的。空气得到的文件类与随机访问,它允许读取压缩文件列表。我用的是Coltware的airxzip,它很适合我。创建ZipFileReader,打开压缩文件,调用getEntries(),找到所需的条目,然后调用reader.unzip(entry)

票数 2
EN

Stack Overflow用户

发布于 2011-03-11 07:44:12

简单的回答是:不,这是不可能的。

最长答案是,您需要编写一个使用zLib等库的辅助程序,并将其安装在机器上

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5266400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档