ZipUtil
public
class
ZipUtil
extends Object
java.lang.Object 中
|
↳ |
com.android.tradefed.util.ZipUtil
|
用于与压缩相关的操作的辅助类
摘要
公共方法 |
static
void
|
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)
用于创建包含给定目录和
及其所有内容
|
static
File
|
createZip( files, String name)
用于创建包含给定文件的临时 ZIP 文件的实用工具。
|
static
File
|
createZip(File dir, String name)
用于创建包含给定目录和
及其所有内容
|
static
File
|
createZip( files)
用于创建包含指定文件的临时 ZIP 文件的实用工具方法
|
static
void
|
createZip(File dir, File zipFile)
用于创建包含指定目录的 ZIP 文件的实用工具方法
及其所有内容
|
static
void
|
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)
将 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 文件中解压缩请求的文件夹并应用适当的权限。
|
公共构造函数
ZipUtil
public ZipUtil ()
公共方法
添加到邮政编码
public static void addToZip (ZipOutputStream out,
File file,
relativePathSegs)
以递归方式将给定文件及其内容添加到 ZipOutputStream
applyPermission
public static void applyPermission (File targetFile,
CentralDirectoryInfo zipEntry)
应用中央目录条目中配置的文件权限。
关闭压缩
public static void closeZip (ZipFile zipFile)
关闭打开的 ERROR(/ZipFile)
,忽略所有异常。
参数 |
zipFile |
ZipFile :要关闭的文件 |
createZip
public static File createZip (File dir)
用于创建包含给定目录和
及其所有内容
createZip
public static File createZip ( files,
String name)
用于创建包含给定文件的临时 ZIP 文件的实用工具。
参数 |
files |
:要压缩的文件列表 |
name |
String :所创建的 ZIP 文件的基本名称,不包含扩展名。 |
createZip
public static File createZip (File dir,
String name)
用于创建包含给定目录和
及其所有内容
参数 |
dir |
File :要压缩的目录 |
name |
String :所创建的 ZIP 文件的基本名称,不包含扩展名。 |
createZip
public static File createZip ( files)
用于创建包含指定文件的临时 ZIP 文件的实用工具方法
createZip
public static void createZip (File dir,
File zipFile)
用于创建包含指定目录的 ZIP 文件的实用工具方法
及其所有内容
参数 |
dir |
File :要压缩的目录 |
zipFile |
File :要创建的 ZIP 文件。该文件不应已存在 |
createZip
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 的谓词 |
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} 列表。
参数 |
partialZipFile |
File :部分 ZIP 文件中包含 central 的 ERROR(/File) 对象
目录条目。 |
endCentralDirInfo |
EndCentralDirectoryInfo :zip 文件的 EndCentralDirectoryInfo 对象。 |
useZip64 |
boolean :一个布尔值,用于支持部分下载中的 zip64 格式。 |
getZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
参数 |
partialZipFile |
File :部分 ZIP 文件中包含 central 的 ERROR(/File) 对象
目录条目。 |
endCentralDirInfo |
EndCentralDirectoryInfo :zip 文件的 EndCentralDirectoryInfo 对象。 |
offset |
long :部分 ZIP 文件中包含中央目录内容的偏移量
开始。 |
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 文件中包含 central 的 ERROR(/File) 对象
目录条目。 |
endCentralDirInfo |
EndCentralDirectoryInfo :zip 文件的 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 |
unzipPartialZipFile
public static void unzipPartialZipFile (File partialZip,
File targetFile,
CentralDirectoryInfo zipEntry,
LocalFileHeader localFileHeader,
long startOffset)
从部分 ZIP 文件中提取单个请求的文件。
此方法假定压缩后所有文件都位于同一磁盘上。
如果 ERROR(/targetFile)
是目录,系统将会创建不带其
内容。
如果 ERROR(/targetFile)
是符号链接,则会创建符号链接,但不会进行解析。
尚不支持以下功能:
超过 4GB 的 ZIP 文件
ZIP64(需要对压缩后的大小更新 ZipLocalFileHeader)
加密的 ZIP 文件
unzipPartialZipFolder
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
从部分 ZIP 文件中解压缩请求的文件夹并应用适当的权限。
受保护的方法
验证目标网址
protected static void validateDestinationDir (File destDir,
String filename)
参数 |
destDir |
File |
filename |
String |