Swift实现文件压缩和解压示例代码
项目中有时候需要文件下载解压,项目中选择了ZipArchive,实际使用也比较简单,直接调用解压和压缩方法即可.
压缩
@IBActionfunczipAction(_sender:UIButton){
letimageDataPath=Bundle.main.bundleURL.appendingPathComponent("FlyElephant").path
zipPath=tempZipPath()
letsuccess=SSZipArchive.createZipFile(atPath:zipPath!,withContentsOfDirectory:imageDataPath)
ifsuccess{
print("压缩成功---\(zipPath!)")
}
}
#解压
@IBActionfuncunZipAction(_sender:UIButton){
guardletzipPath=self.zipPathelse{
return
}
guardletunzipPath=tempUnzipPath()else{
return
}
letsuccess=SSZipArchive.unzipFile(atPath:zipPath,toDestination:unzipPath)
if!success{
return
}
print("解压成功---\(unzipPath)")
varitems:[String]
do{
items=tryFileManager.default.contentsOfDirectory(atPath:unzipPath)
}catch{
return
}
for(index,item)initems.enumerated(){
print("\(index)--文件名称---\(item)")
}
}
压缩和解压路径:
functempZipPath()->String{
varpath=NSSearchPathForDirectoriesInDomains(.cachesDirectory,.userDomainMask,true)[0]
path+="/\(UUID().uuidString).zip"
returnpath
}
functempUnzipPath()->String?{
varpath=NSSearchPathForDirectoriesInDomains(.cachesDirectory,.userDomainMask,true)[0]
path+="/\(UUID().uuidString)"
leturl=URL(fileURLWithPath:path)
do{
tryFileManager.default.createDirectory(at:url,withIntermediateDirectories:true,attributes:nil)
}catch{
returnnil
}
returnurl.path
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短