Zip模块(JS端SDK接口)
说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
使用限制
无。
开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
导入模块
import zlib from '@ohos.zlib';
zlib.zipFile
zipFile(inFile:string, outFile:string, options: Options): Promise<void>
压缩接口(Promise形式)。
系统能力: SystemCapability.BundleManager.Zlib
参数:
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
inFile | string | 是 | 指定压缩的文件夹路径或者文件路径,对应的路径参考[FA模型],[stage模型] |
outFile | string | 是 | 指定的压缩结果的文件路径(文件的扩展名zip) |
options | [Options] | 否 | 压缩的可选参数 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | ERROR_CODE_OK:压缩成功 ERROR_CODE_ERRNO:压缩失败 |
示例1:
//【压缩文件 例子1】
import zlib from '@ohos.zlib'
var inFile = "/xxx/filename.xxx";
var outFile = "/xxx/xxx.zip";
var 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:" + data);
}).catch((err)=>{
console.log("catch((err)=>" + err);
});
示例2:
// 【压缩文件夹 例子2】
import zlib from '@ohos.zlib'
var inFile = "/xxx/xxx";
var outFile = "/xxx/xxx.zip";
var 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:" + data);
}).catch((err)=>{
console.log("catch((err)=>" + err);
});
zlib.unzipFile
unzipFile(inFile:string, outFile:string, options: Options): Promise<void>
解压文件,解压完成返回执行结果(Promise形式)。
系统能力: SystemCapability.BundleManager.Zlib
参数:
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
inFile | string | 是 | 指定压缩的文件夹路径或者文件路径,对应的路径参考[FA模型],[stage模型] |
outFile | string | 是 | 指定的解压文件路径 |
options | [Options] | 否 | 解压的可选参数 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | ERROR_CODE_OK:解压成功 ERROR_CODE_ERRNO:解压失败返回执行结果。 |
示例:
// 【解压例子1】
import zlib from '@ohos.zlib'
var inFile = "/xx/xxx.zip";
var 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:" + data);
}).catch((err)=>{
console.log("catch((err)=>" + err);
})
Options
系统能力: SystemCapability.BundleManager.Zlib
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
level | CompressLeve | 否 | [参考zip.CompressLevel枚举定义] |
memLevel | MemLevel | 否 | [参考zip.MemLevel枚举定义] |
strategy | CompressStrategy | 否 | [参考zip.CompressStrategy枚举定义] |
zip.MemLevel
系统能力: SystemCapability.BundleManager.Zlib
名称 | 值 | 说明 |
---|---|---|
MEM_LEVEL_MIN | 1 | zip 接口在压缩过程中最小使用内存 |
MEM_LEVEL_MAX | 9 | zip 接口在压缩过程中最大使用内存 |
MEM_LEVEL_DEFAULT | 8 | zip 接口在压缩过程中默认使用内存 |
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.CompressStrategy
系统能力: SystemCapability.BundleManager.Zlib
名称 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 | 值 | 说明 |
---|---|---|
COMPRESS_STRATEGY_DEFAULT_STRATEGY | 0 | 常规数据策略 |
COMPRESS_STRATEGY_FILTERED | 1 | 过滤器产生的数据压缩策略 |
COMPRESS_STRATEGY_HUFFMAN_ONLY | 2 | 霍夫曼编码格式压缩策略 |
COMPRESS_STRATEGY_RLE | 3 | 游标编码压缩策略 |
COMPRESS_STRATEGY_FIXED | 4 | 固定的压缩策略 |
zip.ErrorCode
系统能力: SystemCapability.BundleManager.Zlib
名称 | 值 | 说明 |
---|---|---|
ERROR_CODE_OK | 0 | 函数调用成功 |
ERROR_CODE_ERRNO | -1 | 函数调用失败 |
最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。
高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》
针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
《鸿蒙 (OpenHarmony)开发学习视频》
《鸿蒙生态应用开发V2.0白皮书》
《鸿蒙 (OpenHarmony)开发基础到实战手册》
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
OpenHarmony北向、南向开发环境搭建
《鸿蒙开发基础》
-
ArkTS语言
-
安装DevEco Studio
-
运用你的第一个ArkTS应用
-
ArkUI声明式UI开发
-
.……
《鸿蒙开发进阶》
-
Stage模型入门
-
网络管理
-
数据管理
-
电话服务
-
分布式应用开发
-
通知与窗口管理
-
多媒体技术
-
安全技能
-
任务管理
-
WebGL
-
国际化开发
-
应用测试
-
DFX面向未来设计
-
鸿蒙系统移植和裁剪定制
-
……
《鸿蒙开发实战》
-
ArkTS实践
-
UIAbility应用
-
网络案例
-
……
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
总结
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!