文档章节

ZipArchive和SSZipArchive使用详解

H
 HeroHY
发布于 2017/04/25 15:59
字数 827
阅读 136
收藏 0
iOS

阅读目录

回到顶部

一、SSZipArchive

 

1.简介

SSZipArchive是iOS和Mac上一个简单实用的压缩和解压插件。用途包括:
1.解压zip文件;
2.解压密码保护的ZIP文件;
3.创建新的zip文件;
4.追加文件到现有的压缩;
5.压缩文件;
6.压缩NSData(带有文件名)

SSZipArchive的GitHub地址:https://github.com/ZipArchive/ZipArchive

 

 

2.压缩方法

压缩指定文件代码:

复制代码

1 /**
 2  *  SSZipArchive压缩
 3  */
 4 -(void)ssZipArchiveWithFiles
 5 {
 6     //Caches路径
 7     NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
 8    //zip压缩包保存路径
 9     NSString *path = [cachesPath stringByAppendingPathComponent:@"SSZipArchive.zip"];
10     //需要压缩的文件
11     NSArray *filesPath = @[
12                           @"/Users/apple/Desktop/demo/LaunchImage-2-700-568h@2x.png",
13                           @"/Users/apple/Desktop/demo/LaunchImage-2-700@2x.png",
14                           @"/Users/apple/Desktop/demo/LaunchImage-2-800-667h@2x.png",
15                           @"/Users/apple/Desktop/demo/LaunchImage-2-800-Landscape-736h@3x.png"
16                           ];
17     //创建不带密码zip压缩包
18     BOOL isSuccess = [SSZipArchive createZipFileAtPath:path withFilesAtPaths:filesPath];
19     //创建带密码zip压缩包
20     //BOOL isSuccess = [SSZipArchive createZipFileAtPath:path withFilesAtPaths:filesPath withPassword:@"SSZipArchive.zip"];
21 }

复制代码

 

压缩指定文件夹代码:

复制代码

1 /**
 2  *  SSZipArchive压缩
 3  */
 4 -(void)ssZipArchiveWithFolder
 5 {
 6     //Caches路径
 7     NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
 8   //zip压缩包保存路径
 9     NSString *path = [cachesPath stringByAppendingPathComponent:@"SSZipArchive.zip"];
10     //需要压缩的文件夹路径
11     NSString *folderPath = @"/Users/apple/Desktop/demo/";
12     //创建不带密码zip压缩包
13     BOOL isSuccess = [SSZipArchive createZipFileAtPath:path withContentsOfDirectory:folderPath ];
14     //创建带密码zip压缩包
15     //BOOL isSuccess = [SSZipArchive createZipFileAtPath:path withContentsOfDirectory:folderPath withPassword:@"SSZipArchive.zip"];
16 }

复制代码

 

 

3.解压方法

代码:

复制代码

1 /**
 2  *  SSZipArchive解压
 3  */
 4 -(void)uSSZipArchive
 5 {
 6     //Caches路径
 7     NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
 8     //解压目标路径
 9     NSString *destinationPath =[cachesPath stringByAppendingPathComponent:@"SSZipArchive"];
10     //zip压缩包的路径
11     NSString *path = [cachesPath stringByAppendingPathComponent:@"SSZipArchive.zip"];
12     //解压
13     BOOL isSuccess = [SSZipArchive unzipFileAtPath:path toDestination:destinationPath];
14 }

复制代码

 

回到顶部

二、ZipArchive

 

1.简介

ZipArchive可以解压和压缩

 

2.压缩方法

代码:

复制代码

1 /**
 2  *  ZipArchive压缩
 3  */
 4 -(void)zipArchiveWithFiles
 5 {
 6     //创建解压缩对象
 7     ZipArchive *zip = [[ZipArchive alloc]init];
 8     //Caches路径
 9     NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
10     //zip压缩包保存路径
11     NSString *path = [cachesPath stringByAppendingPathComponent:@"ZipArchive.zip"];//创建不带密码zip压缩包
12   //创建zip压缩包
13     [zip CreateZipFile2:path];
14     //创建带密码zip压缩包
15     //[zip CreateZipFile2:path Password:@"ZipArchive.zip"];
16    //添加到zip压缩包的文件
17     [zip addFileToZip:@"/Users/apple/Desktop/demo/LaunchImage-2-700-568h@2x.png" newname:@"1.png"];
18     [zip addFileToZip:@"/Users/apple/Desktop/demo/LaunchImage-2-700@2x.png" newname:@"2.png"];
19     [zip addFileToZip:@"/Users/apple/Desktop/demo/LaunchImage-2-800-667h@2x.png" newname:@"3.png"];
20     [zip addFileToZip:@"/Users/apple/Desktop/demo/LaunchImage-2-800-Landscape-736h@3x.png" newname:@"4.png"];
21     //关闭压缩
22     BOOL success = [zip CloseZipFile2];
23 }

复制代码

 

 

3.解压方法

代码:

复制代码

1 /**
 2  *  ZipArchive解压
 3  */
 4 -(void)uZipArchive
 5 {
 6     //创建解压缩对象
 7     ZipArchive *zip = [[ZipArchive alloc]init];
 8     //Caches路径
 9     NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
10   //解压目标路径
11     NSString *savePath =[cachesPath stringByAppendingPathComponent:@"ZipArchive"];
12   //zip压缩包的路径
13     NSString *path = [cachesPath stringByAppendingPathComponent:@"ZipArchive.zip"];
14     //解压不带密码压缩包
15     [zip UnzipOpenFile:path];
16     //解压带密码压缩包
17     //[zip UnzipOpenFile:path Password:@"ZipArchive.zip"];
18     //解压
19     [zip UnzipFileTo:savePath overWrite:YES];
20     //关闭解压
21     BOOL success = [zip UnzipCloseFile];
22 }

本文转载自:http://www.cnblogs.com/Zev_Fung/p/5595265.html#_lab2_1_1

上一篇: 分治法
下一篇: 回溯法与八皇后
H
粉丝 3
博文 162
码字总数 86832
作品 0
海淀
私信 提问
ZipperDown漏洞简单分析及防护

0x00 序 盘古实验室在针对不同客户的iOS应用安全审计过程中,发现了一类通用的安全漏洞。该漏洞被发布在了[1]。经过盘古的分析,确认微博、陌陌、网易云音乐、QQ音乐、快手等流行应用受影响,另...

技术小能手
2018/05/18
0
0
CNNVD 关于手机程序第三方解压缩库输入验证安全漏洞情况的通报

  近日,国家信息安全漏洞库(CNNVD)收到关于手机程序第三方解压缩库输入验证安全漏洞(CNNVD-201805-440)情况的报送。成功利用该漏洞的攻击者,可以远程读取应用数据、甚至执行任意代码...

FreeBuf
2018/05/23
0
0
PHP自带ZIP压缩、解压缩类ZipArchiv介绍及使用

--------------------- 使用ZipArchive对象的前提 --------------------- 要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip 对于......

lixiaokai2008
2013/10/31
5.2K
0
PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载

PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交...

Junn
2013/01/24
26.9K
1
实现iOS图片等资源文件的热更新化(四): 一个最小化的补丁更新逻辑

简介 以前写过一个补丁更新的文章,此处会做一个更精简的最小化实现,以便于集成.为了使逻辑具有通用性,将剥离对AFNetworking和ReativeCocoa的依赖.原来的文章,可以先看这里: http://www.ios1...

ios122
2016/10/10
423
1

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
14
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部