压缩与解压缩

Posted 越自律,越自由!!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了压缩与解压缩相关的知识,希望对你有一定的参考价值。

1.需要使用第三方库SSZipArchive,需要增加libz库

1.压缩文件   
 //1.要压缩的文件
    NSArray *images = @[@"/Users/xingzai/Desktop/Snip20170424_7.png",@"/Users/xingzai/Desktop/Snip20170424_1.png"];
    //2.开始压缩
    /**
     1.createZipFileAtPath ,压缩文件到位置
     2.withFilesAtPaths ,压缩文件的路径
     */
// 不需要用密码的
 //  [SSZipArchive createZipFileAtPath:@"/Users/xingzai/Desktop/1.zip" withFilesAtPaths:images];
//需要用密码的
    [SSZipArchive createZipFileAtPath:@"/Users/xingzai/Desktop/1.zip" withFilesAtPaths:images withPassword:@"123456"];
2.压缩文件夹
/*
     第一个参数:压缩文件存放位置
     第二个参数:要压缩的文件夹(目录)
     */
    [SSZipArchive createZipFileAtPath:@"/Users/xingzai/Desktop/Tools.zip" withContentsOfDirectory:@"/Users/xingzai/Desktop/Tools"];
3.解压文件或文件夹
 
    /*
     第一个参数:要解压的文件在哪里
     第二个参数:文件应该解压到什么地方
     */

    //解压1
[SSZipArchive unzipFileAtPath:@"/Users/xiaomage/Desktop/demo.zip" toDestination:@"/Users/xiaomage/Desktop/xx"];
    //解压2
    [SSZipArchive unzipFileAtPath:@"/Users/xingzai/Desktop/1.zip" toDestination:@"/Users/xingzai/Desktop/xx" overwrite:YES password:@"123456" progressHandler:^(NSString *entry, unz_file_info zipInfo, long entryNumber, long total) {
        
    } completionHandler:^(NSString *path, BOOL succeeded, NSError *error) {
        
    }];
//解压3
    [SSZipArchive unzipFileAtPath:@"/Users/xingzai/Desktop/Tools.zip" toDestination:@"/Users/xingzai/Desktop/xx" progressHandler:^(NSString *entry, unz_file_info zipInfo, long entryNumber, long total) {
        NSLog(@"%zd---%zd",entryNumber,total);
        
    } completionHandler:^(NSString *path, BOOL succeeded, NSError *error) {

        NSLog(@"%@",path);
    }];

  

以上是关于压缩与解压缩的主要内容,如果未能解决你的问题,请参考以下文章

Huffman的应用之文件压缩与解压缩

Huffman的应用之文件压缩与解压缩

免费毕设JAVA文件压缩与解压缩实践(源代码+论文)

毕业设计JAVA文件压缩与解压缩实践(源代码+论文)

Java实现压缩文件与解压缩文件

压缩与解压缩