压缩解压缩文件的能力
本模块提供压缩解压缩文件的能力
本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
zlib.zipFile(deprecated)
zipFile(inFile: string, outFile: string, options: Options): Promise<void>
压缩接口(Promise形式)。
从api9开始不再维护,建议使用zlib.compressFile
系统能力: SystemCapability.BundleManager.Zlib
参数:
返回值:
类型 | 说明 |
---|---|
Promise<void> | ERROR_CODE_OK:压缩成功; ERROR_CODE_ERRNO:压缩失败。 |
示例1:
- //【压缩文件 例子1】
- import zlib from '@ohos.zlib';
- let inFile = '/xxx/filename.xxx';
- let outFile = '/xxx/xxx.zip';
- let options = {
- level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
- memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
- strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
- };
- zlib.zipFile(inFile, outFile, options).then((data) => {
- console.log('zipFile result is ' + JSON.stringify(data));
- }).catch((err) => {
- console.log('error is ' + JSON.stringify(err));
- });
示例2:
- // 【压缩文件夹 例子2】
- import zlib from '@ohos.zlib';
- let inFile = '/xxx/xxx';
- let outFile = '/xxx/xxx.zip';
- let options = {
- level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
- memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
- strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
- };
- zlib.zipFile(inFile , outFile, options).then((data) => {
- console.log('zipFile result is ' + JSON.stringify(data));
- }).catch((err)=>{
- console.log('error is ' + JSON.stringify(err));
- });
zlib.unzipFile(deprecated)
unzipFile(inFile:string, outFile:string, options: Options): Promise<void>
解压文件,解压完成返回执行结果(Promise形式)。
从api9开始不再看护,建议使用zlib.decompressFile
系统能力: SystemCapability.BundleManager.Zlib
参数:
返回值:
类型 | 说明 |
---|---|
Promise<void> | ERROR_CODE_OK:解压成功; ERROR_CODE_ERRNO:解压失败返回执行结果。 |
示例:
- // 【解压缩 例子1】
- import zlib from '@ohos.zlib';
- let inFile = '/xx/xxx.zip';
- let outFile = '/xxx';
- let options = {
- level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
- memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
- strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
- };
- zlib.unzipFile(inFile, outFile, options).then((data) => {
- console.log('unzipFile result is ' + JSON.stringify(data));
- }).catch((err)=>{
- console.log('error is ' + JSON.stringify(err));
- })
zlib.compressFile9+
compressFile(inFile: string, outFile: string, options: Options, callback: AsyncCallback<void>): void;
压缩文件,压缩的结果通过callback返回。成功时返回null,失败时返回错误码ID。
系统能力: SystemCapability.BundleManager.Zlib
参数:
相关错误码
以下错误码的详细介绍请参见ohos.zlib错误码。
错误码ID | 错误信息 |
---|---|
900001 | The Input source file is invalid. |
900002 | The Input destination file is invalid. |
示例
- // 【压缩文件 例子1】
- // 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取
- import zlib from '@ohos.zlib';
- let inFile = '/xxx/filename.xxx';
- let outFile = '/xxx/xxx.zip';
- let options = {
- level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
- memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
- strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
- };
- try {
- zlib.compressFile(inFile, outFile, options, (errData) => {
- if (errData !== null) {
- console.log(`errData is errCode:${errData.code} message:${errData.message}`);
- }
- })
- } catch(errData) {
- console.log(`errData is errCode:${errData.code} message:${errData.message}`);
- }
compressFile(inFile: string, outFile: string, options: Options): Promise<void>;
压缩文件,压缩的结果通过promise返回,成功时返回null,失败时返回错误码。
系统能力: SystemCapability.BundleManager.Zlib
参数:
相关错误码
以下错误码的详细介绍请参见ohos.zlib错误码。
错误码ID | 错误信息 |
---|---|
900001 | The Input source file is invalid. |
900002 | The Input destination file is invalid. |
- // 【压缩文件 例子2】
- // 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取
- import zlib from '@ohos.zlib';
- let inFile = '/xxx/filename.xxx';
- let outFile = '/xxx/xxx.zip';
- let options = {
- level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
- memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
- strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
- };
- try {
- zlib.compressFile(inFile, outFile, options).then((data) => {
- console.info('compressFile success');
- }).catch((errData) => {
- console.log(`errData is errCode:${errData.code} message:${errData.message}`);
- })
- } catch(errData) {
- console.log(`errData is errCode:${errData.code} message:${errData.message}`);
- }
zlib.decompressFile9+
decompressFile(inFile: string, outFile: string, options: Options, callback: AsyncCallback<void>): void;
解压文件,解压的结果通过callback返回,成功时返回null,失败时返回错误码。
系统能力: SystemCapability.BundleManager.Zlib
参数:
相关错误码
以下错误码的详细介绍请参见ohos.zlib错误码。
错误码ID | 错误信息 |
---|---|
900001 | The Input source file is invalid. |
900002 | The Input destination file is invalid. |
示例
- // 【解压缩 例子1】
- // 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取
- import zlib from '@ohos.zlib';
- let inFile = '/xx/xxx.zip';
- let outFile = '/xxx';
- let options = {
- level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
- memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
- strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
- };
- try {
- zlib.decompressFile(inFile, outFile, options, (errData) => {
- if (errData !== null) {
- console.log(`errData is errCode:${errData.code} message:${errData.message}`);
- }
- })
- } catch(errData) {
- console.log(`errData is errCode:${errData.code} message:${errData.message}`);
- }
decompressFile(inFile: string, outFile: string, options: Options): Promise<void>;
解压文件,解压的结果通过promise返回,成功时返回null,失败时返回错误码。
系统能力: SystemCapability.BundleManager.Zlib
参数:
相关错误码
以下错误码的详细介绍请参见ohos.zlib错误码。
错误码ID | 错误信息 |
---|---|
900001 | The Input source file is invalid. |
900002 | The Input destination file is invalid. |
- // 【解压缩 例子2】
- // 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取
- import zlib from '@ohos.zlib';
- let inFile = '/xx/xxx.zip';
- let outFile = '/xxx';
- let options = {
- level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
- memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
- strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
- };
- try {
- zlib.decompressFile(inFile, outFile, options).then((data) => {
- console.info('decompressFile success');
- }).catch((errData) => {
- console.log(`errData is errCode:${errData.code} message:${errData.message}`);
- })
- } catch(errData) {
- console.log(`errData is errCode:${errData.code} message:${errData.message}`);
- }
Options
系统能力: SystemCapability.BundleManager.Zlib
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
level | CompressLevel | 是 | 否 | |
memLevel | MemLevel | 是 | 否 | |
strategy | CompressStrategy | 是 | 否 |
zip.CompressLevel
系统能力: SystemCapability.BundleManager.Zlib
名称 | 值 | 说明 |
---|---|---|
COMPRESS_LEVEL_NO_COMPRESSION | 0 | 压缩率为0压缩等级。 |
COMPRESS_LEVEL_BEST_SPEED | 1 | 最佳速度压缩等级。 |
COMPRESS_LEVEL_BEST_COMPRESSION | 9 | 最佳压缩等级。 |
COMPRESS_LEVEL_DEFAULT_COMPRESSION | -1 | 默认压缩等级。 |
zip.MemLevel
系统能力: SystemCapability.BundleManager.Zlib
名称 | 值 | 说明 |
---|---|---|
MEM_LEVEL_MIN | 1 | zip 接口在压缩过程中最小使用内存。 |
MEM_LEVEL_MAX | 9 | zip 接口在压缩过程中最大使用内存。 |
MEM_LEVEL_DEFAULT | 8 | zip 接口在压缩过程中默认使用内存。 |
更多建议: