IOS 使用ZipArchive解压文件

 
 

引入框架 libz.dylib

引入头文件 "ZipArchive.h"

- (IBAction) unZipClick {

NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

NSString *filePath = [path stringByAppendingPathComponent:[NSString stringWithFormat:@"book_%d.zip", bookID]];

NSString *unZipPath = [path stringByAppendingPathComponent:[NSString stringWithFormat:@"book_%d", bookID]];

ZipArchive *zip = [[ZipArchive alloc] init];

BOOL result;

if ([zip UnzipOpenFile:filePath]) {

result = [zip UnzipFileTo:unZipPath overWrite:YES];

if (!result) {

NSLog(@"解压失败");

}

else

{

readBtn.enabled = YES;

NSLog(@"解压成功");

}

[zip UnzipCloseFile];

}

}

创建/添加一个zip包

ZipArchive* zipFile = [[ZipArchive alloc] init];

//次数得zipfilename需要一个完整得路径,例如***/Documents/demo.zip

[zipFile CreateZipFile2:@"zipfilename"];

//有两种可选得方式进行创建压缩包,带密码和不带密码的

[[zipFile CreateZipFile2:@"zipfilename" Password:@"your password"];

//接下来就是将需要压缩的文件添加到这个压缩包中

//这里第一个参数需要完整的路径,例如:***/Documents/a.txtnewname是指文件在压缩包中的名字,不需要路径,只是一个名称

[zipFile addFileToZip:@"fullpath of the file" newname:@"new name of the file without path"];

//如果需要将多个文件进行压缩,即压缩文件夹,重复addFileToZip方法即可

[zipFile CloseZipFile2];

[zipFile release];

//释放内存

解压zip包:

ZipArchive* zipFile = [[ZipArchive alloc] init];

[zipFile UnzipOpenFile:@"zip file name"];

//同样,对应的就有两种打开zip包的方式,带密码和不带密码

[zipFile UnzipOpenFile:@"zip file name" Password:@"password" ];

//压缩包释放到的位置,需要一个完整路径

[zipFile UnzipFileTo:@"output path" overwrite:YES];

[zipFile UnzipCloseFile];

[zipFile release];

//记得释放

作者:圈少 链接:https://www.jianshu.com/p/3176b5a934df
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值