压缩工具
public class ZipUtil
extends Object
java.lang.Object |
↳ | com.android.tradefed.util.ZipUtil |
压缩相关操作的辅助类
概括
公共方法 |
---|
static void | addToZip (ZipOutputStream out, File file, relativePathSegs) addToZip (ZipOutputStream out, File file, relativePathSegs) 递归地将给定文件及其内容添加到 ZipOutputStream |
static void | applyPermission (File targetFile, CentralDirectoryInfo zipEntry) 应用在中央目录条目中配置的文件权限。 |
static void | closeZip (ZipFile zipFile) 关闭打开的ERROR(/ZipFile) ,忽略任何异常。 |
static File | createZip (File dir) 用于创建包含给定目录及其所有内容的临时 zip 文件的实用方法。 |
static File | createZip ( files, String name) createZip ( files, String name) 创建包含给定文件的临时 zip 文件的实用方法。 |
static File | createZip (File dir, String name) 用于创建包含给定目录及其所有内容的临时 zip 文件的实用方法。 |
static File | createZip ( files) createZip ( files) 创建包含给定文件的临时 zip 文件的实用方法 |
static void | createZip (File dir, File zipFile) 创建包含给定目录及其所有内容的 zip 文件的实用方法。 |
static void | createZip ( files, File zipFile) createZip ( files, File zipFile) 创建包含给定文件的 zip 文件的实用方法 |
static File | extractFileFromZip (ZipFile zipFile, String filePath) 将一个特定文件从 zip 文件提取到 tmp 文件的实用方法 |
static void | extractZip (ZipFile zipFile, File destDir) 将 zip 文件的全部内容提取到给定目录的实用方法 |
static void | extractZip (ZipFile zipFile, File destDir, shouldExtract) extractZip (ZipFile zipFile, File destDir, shouldExtract) 将 zip 文件的内容提取到给定目录的实用方法 |
static File | extractZipToTemp (File zipFile, String nameHint) 将一个 zip 文件解压缩到一个以字符串为前缀的临时目录 |
static | getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64) 获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。 |
static | getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset) 获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。 |
static | getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo) 获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。 |
static | getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64) 获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。 |
static void | gzipFile (File file, File gzipFile) 创建单个文件的 gzip 版本的帮助程序方法。 |
static boolean | isZipFileValid (File zipFile, boolean thorough) 验证 zip 文件未损坏的实用方法。 |
static void | unzipPartialZipFile (File partialZip, File targetFile, CentralDirectoryInfo zipEntry, LocalFileHeader localFileHeader, long startOffset) 从部分 zip 文件中提取请求的文件。 |
static void | unzipPartialZipFolder (File targetFile, CentralDirectoryInfo zipEntry) 从部分 zip 文件中提取请求的文件夹并应用适当的权限。 |
公共构造函数
公共方法
添加到压缩包
public static void addToZip (ZipOutputStream out,
File file,
relativePathSegs)
递归地将给定文件及其内容添加到 ZipOutputStream
申请权限
public static void applyPermission (File targetFile,
CentralDirectoryInfo zipEntry)
应用在中央目录条目中配置的文件权限。
关闭压缩包
public static void closeZip (ZipFile zipFile)
关闭打开的ERROR(/ZipFile)
,忽略任何异常。
参数 |
---|
zipFile | ZipFile :要关闭的文件 |
创建Zip
public static File createZip (File dir)
用于创建包含给定目录及其所有内容的临时 zip 文件的实用方法。
创建Zip
public static File createZip ( files,
String name)
创建包含给定文件的临时 zip 文件的实用方法。
参数 |
---|
files | : 要压缩的文件列表 |
name | String :创建的不带扩展名的 zip 文件的基本名称。 |
创建Zip
public static File createZip (File dir,
String name)
用于创建包含给定目录及其所有内容的临时 zip 文件的实用方法。
参数 |
---|
dir | File :要压缩的目录 |
name | String :创建的不带扩展名的 zip 文件的基本名称。 |
创建Zip
public static File createZip ( files)
创建包含给定文件的临时 zip 文件的实用方法
创建Zip
public static void createZip (File dir,
File zipFile)
创建包含给定目录及其所有内容的 zip 文件的实用方法。
参数 |
---|
dir | File :要压缩的目录 |
zipFile | File :要创建的 zip 文件 - 它不应该已经存在 |
创建Zip
public static void createZip ( files,
File zipFile)
创建包含给定文件的 zip 文件的实用方法
参数 |
---|
files | : 要压缩的文件列表 |
zipFile | File :要创建的 zip 文件 - 它不应该已经存在 |
public static File extractFileFromZip (ZipFile zipFile,
String filePath)
将一个特定文件从 zip 文件提取到 tmp 文件的实用方法
public static void extractZip (ZipFile zipFile,
File destDir)
将 zip 文件的全部内容提取到给定目录的实用方法
public static void extractZip (ZipFile zipFile,
File destDir,
shouldExtract)
将 zip 文件的内容提取到给定目录的实用方法
参数 |
---|
zipFile | ZipFile :要提取的ERROR(/ZipFile) |
destDir | File :将文件提取到的本地目录 |
shouldExtract | : 如果 ZipEntry 应该被提取,则要进行 dermine 的谓词 |
public static File extractZipToTemp (File zipFile,
String nameHint)
将一个 zip 文件解压缩到一个以字符串为前缀的临时目录
参数 |
---|
zipFile | File :要提取的 zip 文件 |
nameHint | String :临时目录的前缀 |
getZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
boolean useZip64)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
getZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
getZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
getZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset,
boolean useZip64)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
参数 |
---|
partialZipFile | File :包含中央目录条目的部分 zip 文件的ERROR(/File) 对象。 |
endCentralDirInfo | EndCentralDirectoryInfo :压缩文件的EndCentralDirectoryInfo 对象。 |
offset | long :部分 zip 文件中中央目录条目内容开始的偏移量。 |
useZip64 | boolean : 在部分下载中支持 zip64 格式的布尔值。 |
gzip文件
public static void gzipFile (File file,
File gzipFile)
创建单个文件的 gzip 版本的帮助程序方法。
参数 |
---|
file | File :原始文件 |
gzipFile | File : 放置压缩内容的文件 |
isZipFileValid
public static boolean isZipFileValid (File zipFile,
boolean thorough)
验证 zip 文件未损坏的实用方法。
参数 |
---|
zipFile | File : 要检查的ERROR(/File) |
thorough | boolean :是否尝试完全提取存档。如果为false ,此方法将无法检测格式正确的存档中的 CRC 错误。 |
退货 |
---|
boolean | 如果文件似乎已损坏,则为false ;否则为true |
解压缩PartialZip文件
public static void unzipPartialZipFile (File partialZip,
File targetFile,
CentralDirectoryInfo zipEntry,
LocalFileHeader localFileHeader,
long startOffset)
从部分 zip 文件中提取请求的文件。
此方法假定所有文件在压缩时都位于同一磁盘上。它还不支持以下功能:
大于 4GB 的 Zip 文件
ZIP64(压缩大小需要 ZipLocalFileHeader 更新)
加密的 zip 文件
符号链接
解压缩PartialZip文件夹
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
从部分 zip 文件中提取请求的文件夹并应用适当的权限。