当前位置:  开发笔记 > 编程语言 > 正文

如何使用Objective C创建zip文件?

如何解决《如何使用ObjectiveC创建zip文件?》经验,为你挑选了2个好方法。

我正在开发一个iOS应用程序,并尝试压缩我在应用程序中创建的文件,是否有任何内置函数能够执行此操作?



1> Klaas..:

我绝对推荐Objective-Zip.它刚刚转移到https://github.com/flyingdolphinstudio/Objective-Zip:

他们的文档中的一些例子:

创建Zip文件:

ZipFile *zipFile= [[ZipFile alloc] initWithFileName:@"test.zip" mode:ZipFileModeCreate];

将文件添加到zip文件:

ZipWriteStream *stream= [zipFile writeFileInZipWithName:@"abc.txt" compressionLevel:ZipCompressionLevelBest];

[stream writeData:abcData];
[stream finishedWriting];

从zip文件中读取文件:

ZipFile *unzipFile= [[ZipFile alloc] initWithFileName:@"test.zip" mode:ZipFileModeUnzip];

[unzipFile goToFirstFileInZip];

ZipReadStream *read= [unzipFile readCurrentFileInZip];
NSMutableData *data= [[NSMutableData alloc] initWithLength:256];
int bytesRead= [read readDataWithBuffer:data];

[read finishedReading];



2> Brad Larson..:

正如Alex指出的那样,我通过指出由Cocoadev wiki用户贡献的NSData类别来回答这个问题.该类别包括在NSData实例中处理zipped和gzip数据的方法(可以从Zip文件读取或写入一个).只要您可以将文件数据提供给NSData实例,这应该是实现您描述的文件压缩所需的全部内容.

有关此类别的示例,请参阅我的iPhone应用程序Molecules的源代码.我只使用该方法从gzip压缩文件中提取数据(在SLSMolecule + PDB.m中),但您应该能够从中获取基本概念.


NSData类别的链接已损坏.
推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有