W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本模塊提供壓縮解壓縮文件的能力
本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。
zipFile(inFile: string, outFile: string, options: Options): Promise<void>
壓縮接口(Promise形式)。
從api9開始不再維護(hù),建議使用zlib.compressFile
系統(tǒng)能力: SystemCapability.BundleManager.Zlib
參數(shù):
返回值:
類型 | 說明 |
---|---|
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));
- });
unzipFile(inFile:string, outFile:string, options: Options): Promise<void>
解壓文件,解壓完成返回執(zhí)行結(jié)果(Promise形式)。
從api9開始不再看護(hù),建議使用zlib.decompressFile
系統(tǒng)能力: SystemCapability.BundleManager.Zlib
參數(shù):
返回值:
類型 | 說明 |
---|---|
Promise<void> | ERROR_CODE_OK:解壓成功; ERROR_CODE_ERRNO:解壓失敗返回執(zhí)行結(jié)果。 |
示例:
- // 【解壓縮 例子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));
- })
compressFile(inFile: string, outFile: string, options: Options, callback: AsyncCallback<void>): void;
壓縮文件,壓縮的結(jié)果通過callback返回。成功時返回null,失敗時返回錯誤碼ID。
系統(tǒng)能力: SystemCapability.BundleManager.Zlib
參數(shù):
相關(guān)錯誤碼
以下錯誤碼的詳細(xì)介紹請參見ohos.zlib錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
900001 | The Input source file is invalid. |
900002 | The Input destination file is invalid. |
示例
- // 【壓縮文件 例子1】
- // 代碼中使用的路徑需為應(yīng)用的沙箱路徑,如/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>;
壓縮文件,壓縮的結(jié)果通過promise返回,成功時返回null,失敗時返回錯誤碼。
系統(tǒng)能力: SystemCapability.BundleManager.Zlib
參數(shù):
相關(guān)錯誤碼
以下錯誤碼的詳細(xì)介紹請參見ohos.zlib錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
900001 | The Input source file is invalid. |
900002 | The Input destination file is invalid. |
- // 【壓縮文件 例子2】
- // 代碼中使用的路徑需為應(yīng)用的沙箱路徑,如/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}`);
- }
decompressFile(inFile: string, outFile: string, options: Options, callback: AsyncCallback<void>): void;
解壓文件,解壓的結(jié)果通過callback返回,成功時返回null,失敗時返回錯誤碼。
系統(tǒng)能力: SystemCapability.BundleManager.Zlib
參數(shù):
相關(guān)錯誤碼
以下錯誤碼的詳細(xì)介紹請參見ohos.zlib錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
900001 | The Input source file is invalid. |
900002 | The Input destination file is invalid. |
示例
- // 【解壓縮 例子1】
- // 代碼中使用的路徑需為應(yīng)用的沙箱路徑,如/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>;
解壓文件,解壓的結(jié)果通過promise返回,成功時返回null,失敗時返回錯誤碼。
系統(tǒng)能力: SystemCapability.BundleManager.Zlib
參數(shù):
相關(guān)錯誤碼
以下錯誤碼的詳細(xì)介紹請參見ohos.zlib錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
900001 | The Input source file is invalid. |
900002 | The Input destination file is invalid. |
- // 【解壓縮 例子2】
- // 代碼中使用的路徑需為應(yīng)用的沙箱路徑,如/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}`);
- }
系統(tǒng)能力: SystemCapability.BundleManager.Zlib
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
level | CompressLevel | 是 | 否 | |
memLevel | MemLevel | 是 | 否 | |
strategy | CompressStrategy | 是 | 否 |
系統(tǒng)能力: SystemCapability.BundleManager.Zlib
名稱 | 值 | 說明 |
---|---|---|
COMPRESS_LEVEL_NO_COMPRESSION | 0 | 壓縮率為0壓縮等級。 |
COMPRESS_LEVEL_BEST_SPEED | 1 | 最佳速度壓縮等級。 |
COMPRESS_LEVEL_BEST_COMPRESSION | 9 | 最佳壓縮等級。 |
COMPRESS_LEVEL_DEFAULT_COMPRESSION | -1 | 默認(rèn)壓縮等級。 |
系統(tǒng)能力: SystemCapability.BundleManager.Zlib
名稱 | 值 | 說明 |
---|---|---|
MEM_LEVEL_MIN | 1 | zip 接口在壓縮過程中最小使用內(nèi)存。 |
MEM_LEVEL_MAX | 9 | zip 接口在壓縮過程中最大使用內(nèi)存。 |
MEM_LEVEL_DEFAULT | 8 | zip 接口在壓縮過程中默認(rèn)使用內(nèi)存。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: