25>文件的压缩和解压缩

一、技术方案
1.第三方框架:SSZipArchive
2.依赖的动态库:libz.dylib

二、压缩1
1.第一个方法

/** zipFile :产生的zip文件的最终路径 directory : 需要进行的压缩的文件夹路径 */
[SSZipArchive createZipFileAtPath:zipFile withContentsOfDirectory:directory];

2.第一个方法

/** zipFile :产生的zip文件的最终路径 files : 这是一个数组,数组里面存放的是需要压缩的文件的路径 files = @[@"/Users/apple/Destop/1.png", @"/Users/apple/Destop/3.txt"] */
[SSZipArchive createZipFileAtPath:zipFile withFilesAtPaths:files];

三、解压缩

/** zipFile :需要解压的zip文件的路径 dest : 解压到什么地方 */
[SSZipArchive unzipFileAtPath:zipFile toDestination:dest];

压缩代码:

// 解压缩
- (void)unzip
{
    NSString *cache = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
    NSString *images = [cache stringByAppendingPathComponent:@"images"];
    NSString *zipFile = [cache stringByAppendingPathComponent:@"images.zip"];
    BOOL result = [SSZipArchive unzipFileAtPath:zipFile toDestination:images];
    result == YES ?  NSLog(@"解压成功") : NSLog(@"解压失败");
}

// 压缩
- (void)zip
{
    NSString *cache = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
    NSLog(@"%@",cache);
    // 获得需要压缩的文件夹
    NSString *images = [cache stringByAppendingPathComponent:@"images"];
    // 创建一个zip文件(压缩)
    NSString *zipFile = [cache stringByAppendingPathComponent:@"images.zip"];

    BOOL  result = [SSZipArchive createZipFileAtPath:zipFile withContentsOfDirectory:images];
    if (result) {
        NSLog(@"压缩成功");
    }else {
        NSLog(@"压缩失败");
    }

你可能感兴趣的:(25>文件的压缩和解压缩)