前几天做了一个ZipArchive解压缩zip的需求:ios解压缩zip文件
今天又碰到要压缩zip的需求,就顺手补充一下
当然还是需要先引入ZipArchive,在编译中加入libz.dylib,然后下面是代码,简单封装了下:
+(void) doZipAtPath:(NSString*)sourcePath to:(NSString*)destZipFile
{
NSFileManager *fileManager = [NSFileManager defaultManager];
ZipArchive * zipArchive = [ZipArchive new];
if([fileManager fileExistsAtPath:destZipFile]){
return;// 文件已存在,直接返回
}
[zipArchive CreateZipFile2:destZipFile];
NSArray *fileList = [fileManager contentsOfDirectoryAtPath:sourcePath error:nil];// 文件列表
for(NSString *filePath in fileList){
NSString *fileName = [filePath lastPathComponent];// 取得文件名
[zipArchive addFileToZip:filePath newname:fileName];
}
[zipArchive CloseZipFile2];
}
其实关键的API就3个,createZipFile2, addFileToZip, closeZipFile2
代码很简单,基本是自注释的,就不多解释了。只是要注意,addFileToZip方法的接受的参数是NSString*,所以如果要压缩整个目录(包括子目录下的所有文件),可以遍历此文件夹,也就是上面的contentsOfDirectoryAtPath方法
分享到:
相关推荐
一个在iOS使用ZipArchive实现压缩和解压缩文件的demo
ios应用源码之新版ziparchive,新增创建以及解压加密zip 文件_ziparchive
ZipArchive - 一个简单的工具类,用于在iOS和Mac上压缩和解压缩文件
IOS应用源码——新版ZipArchive,新增创建以及解压加密rar 文件_ZipArchive.rar
IOS,zip压缩文件解压库
IOS应用源码——新版ZipArchive,新增创建以及解压加密rar 文件_ZipArchive.zip
iOS zip压缩
SSZipArchive ZipArchive是一个简单的实用程序类,用于在iOS,macOS和tvOS上压缩和解压缩文件。 解压缩zip文件; 解压缩受密码保护的zip文件; 解压缩AES加密的zip文件; 创建zip文件; 创建SSZipArchive ZipArchive...
把文件导入工程,可以调用以下接口,创建ZIP或者解压ZIP文件: -(BOOL) CreateZipFile2:(NSString*) zipFile; -(BOOL) CreateZipFile2:(NSString*) zipFile Password:(NSString*) password; -(BOOL) addFileToZip:...
iOS股票k线组件源码.zip
SSZipArchive ZipArchive是用于在iOS,macOS和tvOS上压缩和解压缩文件的简单实用程序类。 解压缩zip文件; 解压缩受密码保护的zip文件; 解压缩AES加密的zip文件; 创建zip文件; 创建大文件(> 4.3Gb); 创建受...
IOS_Zip比例压缩.zip,使用ZLIB库编写,需要的下载吧;
iOS 固定位置布局组件。.zip,Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. [iOS/macOS/tvOS/CALayer]
IOS应用源码——ZipArchive.rar
iOS组件化(上篇)- 拆分基础组件 http://www.jianshu.com/p/760d6cd46719 iOS组件化(中篇)-拆分业务组件 http://www.jianshu.com/p/e6e84688f0b8 iOS组件化(下篇)-加载XIB、图片资源 ...
Sketch IOS UI组件库,安装即可自动加载到Sketch中,省去自己建库的时间。
flux for iOS.zip,flux for iOS
iOS 手机号输入组件,包含各个国家的手机号规则。.zip,A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.
axure android ios高保真组件
实现 iOS 手写电子签名的组件.zip,swift中ios的签名组件