ZipArchive解压缩zip文件

ZipArchive是基于开源代码”MiniZip”的zip压缩与解压的Objective-C 的Class,使用起来非常的简单方法:从http://code.google.com/p/ziparchive/ 上下载ZipArchive.zip,解压后将代码加入工程中,并且把libz.dylib库添加到工程中

注意:下载的开源代码是MRC编码,在ARC和MRC混编时要配置-fno-objc-arc

使用方法:
  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];  
  1. 解压缩:
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];  

你可能感兴趣的:(ZipArchive解压缩zip文件)