zoukankan      html  css  js  c++  java
  • 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];

     

     

  • 相关阅读:
    登录及注册页面
    多方式登录
    git笔记
    后台主页模块设计
    auth模块迁移后需新增字段
    使用idea构建SpringBoot源码
    Springboot相关面试问题
    Springboot自动加载工具-devtools的理解与使用
    SpringBoot项目的一些简单常用配置
    Java线程池及Executor框架的理解
  • 原文地址:https://www.cnblogs.com/foxmin/p/2690359.html
Copyright © 2011-2022 走看看