iOS开发之压缩与解压文件

ziparchive是基于开源代码”MiniZip”的zip压缩与解压的Objective-C 的Class,使用起来非常的简单
方法:从http://code.google.com/p/ziparchive/ 上下载ZipArchive.zip,解压后将代码加入工程中,并且把zlib库添加到工程中
使用方法:
1. 压缩:ZipArchive可以压缩多个文件,只需要把文件一一addFileToZip即可.

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

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentpath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;

NSString* l_zipfile = [documentpath stringByAppendingString:@"/test.zip"] ;

NSString* image1 = [documentpath stringByAppendingString:@"/image1.jpg"] ;

NSString* image2 = [documentpath stringByAppendingString:@"/image2.jpg"] ;      

BOOL ret = [zip CreateZipFile2:l_zipfile];

ret = [zip addFileToZip:image1 newname:@"image1.jpg"];

ret = [zip addFileToZip:image2 newname:@"image2.jpg"];

if( ![zip CloseZipFile2] )

  {

     l_zipfile = @"";

  }

[zip release];

2. 解压缩:

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

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentpath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;

NSString* l_zipfile = [documentpath stringByAppendingString:@"/test.zip"] ;

NSString* unzipto = [documentpath stringByAppendingString:@"/test"] ;

if( [zip UnzipOpenFile:l_zipfile] )

 {

   BOOL ret = [zip UnzipFileTo:unzipto overWrite:YES];

   if( NO==ret )

   {

   }

   [zip UnzipCloseFile];

 }

[zip release];

本文固定链接: http://istar.name/blog/ios-ziparchive

时间: 2024-10-08 17:50:21

iOS开发之压缩与解压文件的相关文章

【转】iOS开发之压缩与解压文件

ziparchive是基于开源代码”MiniZip”的zip压缩与解压的Objective-C 的Class,使用起来非常的简单方法:从http://code.google.com/p/ziparchive/ 上下载ZipArchive.zip,解压后将代码加入工程中,并且把zlib库添加到工程中使用方法:1. 压缩:ZipArchive可以压缩多个文件,只需要把文件一一addFileToZip即可. ZipArchive* zip = [[ZipArchive alloc] init]; NS

【转】用ZipArchive在App里压缩、解压文件

在这篇教程里,我将演示如何在iOS应用内压缩和解压文件.我们会使用到一个叫做ZipArchive的第三方库来实现这一功能.虽然还有其他压缩和解压文件的方案,但我感觉ZipArchive是最快和最易使用的. 为什么我需要解压文件? 这个问题很好.有很多理由可以用来解释为什么你的应用需要支持压缩和解压文件,这是其中一些: 苹果的50M下载限制 苹果强制要求通过3G网络下载的应用大小不能超过50M,绕过这个限制的方法是尽量让你的二进制包足够小,然后在应用里下载需要的资源,当然最好的方式是先把资源打包成

本地上传文件至服务器的技巧(linux文件压缩及解压文件)

linux(ubuntu)文件解压及压缩文件 ubuntu支持文件的解压及压缩功能, 如果ubuntu上面没有安装过unzip工具的话,可以通过下面命令安装: sudo apt-get install unzip zip压缩文件夹,文件及解压文件的命令 1.压缩文件夹 zip -r 目标文件名.zip 要压缩的文件夹 2.把文件 unzip 文件 目的地 把/home目录下面的mydata.zip解压到mydatabak目录里面 3.把文件解压到当前目录 unzip 要解压的文件 其他的详细请查

(转)使用 linux tar 命令压缩与解压文件

原文链接 http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的参数是根据需要在压缩或解压档案时可选的. -z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出

C#工具类:使用SharpZipLib进行压缩、解压文件

SharpZipLib是一个开源的C#压缩解压库,应用非常广泛.就像用ADO.NET操作数据库要打开连接.执行命令.关闭连接等多个步骤一样,用SharpZipLib进行压缩和解压也需要多个步骤.SharpZipLib功能比较强大,在很多C#的应用中,都有它的身影,我们可以通过引入SharpZipLib类库文件,在程序中实现自动压缩文件以及解压缩文件的功能,例如一个常见的情景就是用户客户端程序下载更新包,下载完成之后,在本地自动解压文件. SharpZipLib的官方地址是:http://icsh

ICSharpCode.SharpZipLi 压缩、解压文件 附源码

http://www.icsharpcode.net/opensource/sharpziplib/ 有SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, BZip2 和Tar格式 我们需要dll 在官网上也有,也可以从百度网盘下载 好了,深入的大家还要多多研究,今天我们简单介绍一下 简单的 单文件.文件夹的压缩和解压 先给大家看一下效果: 一.引入ICSharpCode.SharpZipLib 我们新建个帮助类 ZipHelper.cs  然后 添

ICSharpCode.SharpZipLib 压缩、解压文件 附源码

http://www.icsharpcode.net/opensource/sharpziplib/ 有SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, BZip2 和Tar格式 我们需要dll 在官网上也有,也可以从百度网盘下载 好了,深入的大家还要多多研究,今天我们简单介绍一下 简单的 单文件.文件夹的压缩和解压 先给大家看一下效果: 一.引入ICSharpCode.SharpZipLib 我们新建个帮助类 ZipHelper.cs  然后 添

java 压缩以及解压文件,有tar,zip,gz(gizp)和解压

package com.yabsz.decompCompr; import java.io.File; import java.util.ArrayList; import java.util.List; public class main { public static void main(String[] args) { //需要下载commons-net-ftp-2.0.jar包下载地址:http://download.csdn.net/detail/u010696272/8006739

Linux压缩、解压文件

对于.tar格式的文件压缩和解压比较常用,今天对于.zip格式的文件用同样的命令无效.真是被自己蠢到了,忽略了后缀格式... 1.对于tar格式文件 压缩: tar –zcvf 压缩完后的名称  被压缩的目录     //tar -zcvf a.tar a 解压: tar –zxvf 压缩完后的名称           // tar -zxvf a.tar 2.对于zip格式文件 压缩: zip filename.zip files 解压: unzip filename.zip 进一步了解,Li