温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iOS 数据压缩与解压

发布时间:2020-06-19 13:35:52 来源:网络 阅读:1809 作者:杜甲同学 栏目:移动开发

iOS  数据压缩与解压


Hi,推荐文件给你 "数据压缩与解压.zip"


http://vdisk.weibo.com/s/Gbabp



本文中需要的第三库在本文的代码例子中可以下载。minizipZipArchive这两个第三库



ViewController.h代码如下:


#import <UIKit/UIKit.h>
#import "ZipArchive.h"
@interface ViewController : UIViewController
-(IBAction)compress:(id)sender;
-(IBAction)unAr:(id)sender;
@end



ViewController.m代码如下:

自己拖2个Button与如下两个方法相关联


//这方法中数据压缩的方法:

-(IBAction)compress:(id)sender
{
    //导入ZipArchive包之后要加入libz.1.2.5.dylib的库
    ZipArchive* zip = [[ZipArchive alloc] init];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentpath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    NSString* zipfilePath = [documentpath stringByAppendingString:@"/dj.zip"] ;
    //
    NSLog(@"%@",zipfilePath);
                     
                     
    NSString* p_w_picpath2 = [[NSBundle mainBundle] pathForResource:@"xiaonan" ofType:@"jpg"];
    NSString* p_w_picpath3 = [[NSBundle mainBundle] pathForResource:@"xiaonan" ofType:@"jpg"];
                     
                     
    //创建压缩包
    BOOL ret = [zip CreateZipFile2:zipfilePath];
    //向压缩包内加入数据
    ret = [zip addFileToZip:p_w_picpath2 newname:@"xiaonan.jpg"];
    ret = [zip addFileToZip:p_w_picpath3 newname:@"p_w_picpath3.jpg"];
    //关闭压缩包
    [zip CloseZipFile2];
                     
                     
    [zip release];
}




//数据解压的方法


-(IBAction)unAr:(id)sender
{
        
    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:@"/dj.zip"] ;
    NSString* unzipto = [documentpath stringByAppendingString:@"/dj"] ;
         
         
    //找到需要解压文件的路径
    if( [zip UnzipOpenFile:l_zipfile] )
    {
        BOOL ret = [zip UnzipFileTo:unzipto overWrite:YES];
        if( NO==ret )
        {
        }
        //完成解压
        [zip UnzipCloseFile];
    } 
    [zip release];
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI