您的位置:首页 > 其它

压缩文件处理(第三方解压缩框架——SSZipArchive)

2016-01-02 13:04 253 查看
下载地址:https://github.com/samsoffes/ssziparchive

注意:需要引入libz.dylib框架

// Unzipping

NSString *zipPath=@"path_to_your_zip_file";

NSString *destinationPath=@"path_to_the_folder_where_you_want_it_unzipped";

[SSZipArchiveunzipFileAtPath:zipPathtoDestination:destinationPath];

// Zipping

NSString *zippedPath=@"path_where_you_want_the_file_created";

NSArray *inputPaths=[NSArray
arrayWithObjects:

[[NSBundle mainBundle]
pathForResource:@"photo1"ofType:@"jpg"],

[[NSBundle mainBundle]
pathForResource:@"photo2"ofType:@"jpg"]

nil];

[SSZipArchivecreateZipFileAtPath:zippedPathwithFilesAtPaths:inputPaths];

代码示例:
//
//  ViewController.m
//  文件下载
//

#import "ViewController.h"
#import "YKDFileDownloader.h"
#import "SSZipArchive.h"

@interface ViewController ()
//下载器
@property(nonatomic,strong)YKDFileDownloader *fileDownloader;
@end

@implementation ViewController

- (YKDFileDownloader *)fileDownloader
{
if (!_fileDownloader) {
_fileDownloader = [[YKDFileDownloader alloc] init];

//需要下载的远程文件URL
_fileDownloader.url = @"https://xxxx.com/images.zip";
//文件保存到什么地方
NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
NSString *filepath = [caches stringByAppendingPathComponent:@"images.zip"];
_fileDownloader.destPath = filepath;

_fileDownloader.progressHandler = ^(double progress){
NSLog(@"下载进度---%f",progress);
};
_fileDownloader.completionHandler = ^{
NSLog(@"下载完毕");
//解压文件(文件大会比较耗时)
[SSZipArchive unzipFileAtPath:filepath toDestination:caches];
};
}
return _fileDownloader;
}

- (void)viewDidLoad {
[super viewDidLoad];

}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//开始下载
[self.fileDownloader start];
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: