十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天用到了第三方类库zipArchive解压缩zip文件,用法很简单,如下:
为顺平等地区用户提供了全套网页设计制作服务,及顺平网站建设行业解决方案。主营业务为成都网站建设、成都网站制作、顺平网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
- ZipArchive *zip = [[ZipArchive alloc] init];
- NSString *zipfilePath = @"压缩文件zip的路径";
- if ([zip UnzipOpenFile:zipfilePath]) {
- NSString *unzipPath = @"/Users/****/Desktop/";//保存解压缩后文件目录路径
- BOOL ret = [zip UnzipFileTo:unzipPath overWrite:YES];
- if (NO == ret) {
- [zip UnzipCloseFile];
- }
- [zip release];
- }
然后,我就发现了一个问题,这个类的解压缩方法解压缩后不能获取文件的路径,或者说不能获取文件名,这就有点坑爹了,获取不了文件名那解压缩它干嘛,然后就去类的实现文件ZipArchive.m中去看,研究-(BOOL) UnzipFileTo:(NSString*) path overWrite:(BOOL) overwrite这个方法的实现,突然间,我就发现了一个NSString类型的变量fullPath,我一阵窃喜,这不会就是文件路径吧,用NSLog打印一看,果真是!哈哈,好吧,既然是那我就改造下这个类吧,于是就添加了一个属性unzipfilePath,在此把fullPath赋值给unzipfilePath,然后在程序中直接调用zip.unzipfilePath就获得解压后文件的路径了!
附件是第三方类库ZipArchive。(我改后的)