8000 GitHub - zourw/ohos-archive: 本库是基于 libarchive 开发完成,支持常见的 7z, tar, zip, gz, xz 格式解压缩。
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

zourw/ohos-archive

Repository files navigation

Archive

简介

本库是基于 libarchive 开发完成,支持常见的 7z, tar, zip, gz, xz 格式解压缩。

安装

ohpm i @mysoft/archive

环境配置等更多内容,请参考如何安装 ohpm 包

效果

harmony-archive.gif

API

archiveLib.compress

compress(inFile: string, outFile: string, format: archiveLib.CompressFormat): Promise<archiveLib.Result>

压缩文件,压缩的结果使用Promise异步返回。成功时返回{code: 0, message: 'Success'},失败时返回错误码和具体的错误内容。

参数:

参数名 类型 必填 说明
inFile string 指定压缩的文件夹路径或者文件路径,路径必须为沙箱路径,沙箱路径可以通过context获取。
inFile:/a/b/c;执行结果:压缩文件夹c
inFile:/a/b/c/;执行结果:压缩文件夹c下的所有文件和文件夹
inFile:/a/b/c/test.txt;执行结果:压缩文件test.txt
outFile string 指定的压缩结果的文件路径。如果outFile已存在,则直接覆盖。多个线程同时压缩文件时,outFile不能相同。
format archiveLib.CompressFormat 压缩格式,支持 7z, tar, zip, gz, xz

返回值

类型 说明
Promise<archiveLib.Result> Promise对象,返回 archiveLib.Result 说明:
code:错误码
message:错误详情

示例

import { archiveLib } from '@mysoft/archive'

const ret = await archiveLib.compress(inFile, outFile, format)
if (ret.code === 0) {
  console.log('压缩成功')
} else {
  console.log(`压缩失败,code: ${ret.code}, message: ${ret.message}`)
}

archiveLib.decompress

decompress(inFile: string, outFile: string): Promise<archiveLib.Result>

解压文件,解压的结果使用Promise异步返回。成功时返回{code: 0, message: 'Success'},失败时返回错误码和具体的错误内容。

参数:

参数名 类型 必填 说明
inFile string 指定的待解压缩文件的文件路径。文件路径必须为沙箱路径,沙箱路径可以通过context获取。
outFile string 指定的解压后的文件夹路径,文件夹目录路径需要在系统中存在,不存在则会解压失败。路径必须为沙箱路径,沙箱路径可以通过context获取。如果待解压的文件或文件夹在解压后的路径下已经存在,则会直接覆盖同名文件或同名文件夹中的同名文件。多个线程同时解压文件时,outFile不能相同。

返回值

类型 说明
Promise<archiveLib.Result> Promise对象,返回 archiveLib.Result 说明:
code:错误码
message:错误详情

示例

import { archiveLib } from '@mysoft/archive'

const ret = await archiveLib.decompress(inFile, outFile)
if (ret.code === 0) {
  console.log('解压成功')
} else {
  console.log(`解压失败,code: ${ret.code}, message: ${ret.message}`)
}

沟通与交流

使用过程中发现任何问题都可以提 Issue; 当然,我们也非常欢迎发 PR

开源协议

本项目基于 Apache License 2.0 ,在拷贝和借鉴代码时,请务必注明出处。

About

本库是基于 libarchive 开发完成,支持常见的 7z, tar, zip, gz, xz 格式解压缩。

Resources

License

Stars

Watchers

Forks

Packages

No packages published
0