现在的位置: 首页 > 综合 > 正文

iPhone zip压缩与解压

2013年10月17日 ⁄ 综合 ⁄ 共 1635字 ⁄ 字号 评论关闭

ziparchive是基于开源代码"MiniZip"的zip压缩与解压的Objective-C 的Class,使用起来非常的简单.你只需要把代码加进你的工程,然后把zlib库添加到工程就可以了.
ziparchive可以在googlecode上下载,地址如下
http://code.google.com/p/ziparchive/

压缩:

ZipArchive可以压缩多个文件,只需要把文件一 一addFileToZip即可.

  1.    ZipArchive* zip = [[ZipArchive alloc] init];
  2.         
  3.     NSArray *paths =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES);
  4.           NSString *dcoumentpath = ([paths count] > 0) ?  [paths objectAtIndex:0] : nil;
  5.           NSString* l_zipfile = [dcoumentpath  stringByAppendingString:@"/test.zip"] ;
  6.         
  7.           NSString* image1 = [dcoumentpath  stringByAppendingString:@"/image1.jpg"] ;  
  8.           NSString* image2 = [dcoumentpath  stringByAppendingString:@"/image2.jpg"] ;     
  9.         
  10.           BOOL ret = [zip CreateZipFile2:l_zipfile];
  11.           ret = [zip addFileToZip:image1 newname:@"image1.jpg"];
  12.           ret = [zip addFileToZip:image2 newname:@"image2.jpg"];
  13.           if( ![zip CloseZipFile2] )
  14.           {
  15.               l_zipfile = @"";
  16.           }
  17.           [zip release];

复制代码

解压缩:

  1. ZipArchive* zip = [[ZipArchive alloc] init];
  2.           NSArray *paths =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES);
  3.           NSString *dcoumentpath = ([paths count] > 0) ?  [paths objectAtIndex:0] : nil;
  4.         
  5.           NSString* l_zipfile = [dcoumentpath  stringByAppendingString:@"/test.zip"] ;
  6.           NSString* unzipto = [dcoumentpath  stringByAppendingString:@"/test"] ;
  7.           if( [zip UnzipOpenFile:l_zipfile] )
  8.           {
  9.               BOOL ret = [zip UnzipFileTo:unzipto  overWrite:YES];
  10.               if( NO==ret )
  11.               {
  12.               }
  13.               [zip UnzipCloseFile];
  14.           }
  15.           [zip release];
  16.           转载出处:http://blog.csdn.net/wishfly/article/details/7366043

抱歉!评论已关闭.