1# Zip模块(JS端SDK接口) 2 3>  **说明:** 4> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 5 6## 使用限制 7 8无。 9## 导入模块 10 11```javascript 12import zlib from '@ohos.zlib'; 13``` 14 15## zlib.zipFile 16zipFile(inFile:string, outFile:string, options: Options): Promise<void> 17 18压缩接口(Promise形式)。 19 20**系统能力:** SystemCapability.BundleManager.Zlib 21 22**参数:** 23 24| 参数名 | 类型 | 必填 | 描述 | 25| ------- | ------------------- | ---- | ------------------------------------------------------------ | 26| inFile | string | 是 | 指定压缩的文件夹路径或者文件路径,对应的路径参考[FA模型](js-apis-Context.md),[stage模型](js-apis-application-context.md) | 27| outFile | string | 是 | 指定的压缩结果的文件路径(文件的扩展名zip) | 28| options | [Options](#options) | 否 | 压缩的可选参数 | 29 30**返回值:** 31 32| 类型 | 说明 | 33| -------------- | ---------------------------------------------------- | 34| Promise\<void> | ERROR_CODE_OK:压缩成功 ERROR_CODE_ERRNO:压缩失败 | 35 36**示例1:** 37 38```javascript 39 40//【压缩文件 例子1】 41import zlib from '@ohos.zlib' 42var inFile = "/xxx/filename.xxx"; 43var outFile = "/xxx/xxx.zip"; 44var options = { 45 level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION, 46 memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT, 47 strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY 48}; 49 50zlib.zipFile(inFile, outFile, options).then((data) => { 51 console.log("zipFile result:" + data); 52}).catch((err)=>{ 53 console.log("catch((err)=>" + err); 54}); 55 56``` 57 58**示例2:** 59 60``` 61// 【压缩文件夹 例子2】 62import zlib from '@ohos.zlib' 63var inFile = "/xxx/xxx"; 64var outFile = "/xxx/xxx.zip"; 65var options = { 66 level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION, 67 memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT, 68 strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY 69}; 70 71zlib.zipFile(inFile , outFile, options).then((data) => { 72 console.log("zipFile result:" + data); 73}).catch((err)=>{ 74 console.log("catch((err)=>" + err); 75}); 76``` 77 78## zlib.unzipFile 79 80unzipFile(inFile:string, outFile:string, options: Options): Promise<void> 81 82解压文件,解压完成返回执行结果(Promise形式)。 83 84**系统能力:** SystemCapability.BundleManager.Zlib 85 86**参数:** 87 88| 参数名 | 类型 | 必填 | 描述 | 89| ------- | ------------------- | ---- | ------------------------------------------------------------ | 90| inFile | string | 是 | 指定压缩的文件夹路径或者文件路径,对应的路径参考[FA模型](js-apis-Context.md),[stage模型](js-apis-application-context.md) | 91| outFile | string | 是 | 指定的解压文件路径 | 92| options | [Options](#options) | 否 | 解压的可选参数 | 93 94**返回值:** 95 96| 类型 | 说明 | 97| -------------- | ------------------------------------------------------------ | 98| Promise\<void> | ERROR_CODE_OK:解压成功 ERROR_CODE_ERRNO:解压失败返回执行结果。 | 99 100**示例:** 101 102```javascript 103// 【解压例子1】 104import zlib from '@ohos.zlib' 105var inFile = "/xx/xxx.zip"; 106var outFile = "/xxx"; 107 108let options = { 109 level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION, 110 memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT, 111 strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY 112}; 113zlib.unzipFile(inFile, outFile, options).then((data) => { 114 console.log("unzipFile result:" + data); 115}).catch((err)=>{ 116 console.log("catch((err)=>" + err); 117}) 118 119``` 120 121## Options 122 123**系统能力:** SystemCapability.BundleManager.Zlib 124 125| 参数名 | 类型 | 必填 | 说明 | 126| -------- | ---------------- | ---- | --------------------------------------------------------- | 127| level | CompressLeve | 否 | [参考zip.CompressLevel枚举定义](#zip.CompressLevel) | 128| memLevel | MemLevel | 否 | [参考zip.MemLevel枚举定义](#zip.MemLevel) | 129| strategy | CompressStrategy | 否 | [参考zip.CompressStrategy枚举定义](#zip.CompressStrategy) | 130 131## zip.MemLevel 132 133**系统能力:** SystemCapability.BundleManager.Zlib 134 135| 名称 | 值 | 说明 | 136| ----------------- | ---- | -------------------------------- | 137| MEM_LEVEL_MIN | 1 | zip 接口在压缩过程中最小使用内存 | 138| MEM_LEVEL_MAX | 9 | zip 接口在压缩过程中最大使用内存 | 139| MEM_LEVEL_DEFAULT | 8 | zip 接口在压缩过程中默认使用内存 | 140 141## zip.CompressLevel 142 143**系统能力:** SystemCapability.BundleManager.Zlib 144 145| 名称 | 值 | 说明 | 146| ---------------------------------- | ---- | ----------------- | 147| COMPRESS_LEVEL_NO_COMPRESSION | 0 | 压缩率为0压缩等级 | 148| COMPRESS_LEVEL_BEST_SPEED | 1 | 最佳速度压缩等级 | 149| COMPRESS_LEVEL_BEST_COMPRESSION | 9 | 最佳压缩等级 | 150| COMPRESS_LEVEL_DEFAULT_COMPRESSION | -1 | 默认压缩等级 | 151 152## zip.CompressStrategy 153 154**系统能力:** SystemCapability.BundleManager.Zlib 155 156| 名称 | 值 | 说明 | 157| ---------------------------------- | ---- | ------------------------ | 158| COMPRESS_STRATEGY_DEFAULT_STRATEGY | 0 | 常规数据策略 | 159| COMPRESS_STRATEGY_FILTERED | 1 | 过滤器产生的数据压缩策略 | 160| COMPRESS_STRATEGY_HUFFMAN_ONLY | 2 | 霍夫曼编码格式压缩策略 | 161| COMPRESS_STRATEGY_RLE | 3 | 游标编码压缩策略 | 162| COMPRESS_STRATEGY_FIXED | 4 | 固定的压缩策略 | 163 164## zip.ErrorCode 165 166**系统能力:** SystemCapability.BundleManager.Zlib 167 168| 名称 | 值 | 说明 | 169| ---------------- | ---- | ------------ | 170| ERROR_CODE_OK | 0 | 函数调用成功 | 171| ERROR_CODE_ERRNO | -1 | 函数调用失败 | 172