自 2026 年起,为了与我们的主干稳定开发模型保持一致,并确保生态系统的平台稳定性,我们将在第 2 季度和第 4 季度向 AOSP 发布源代码。如需构建 AOSP 并为其贡献代码,请使用 android-latest-release。android-latest-release 清单分支将始终引用推送到 AOSP 的最新版本。如需了解详情,请参阅 AOSP 变更。
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
ZipUtil
public
class
ZipUtil
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.util.ZipUtil
|
用于压缩相关操作的辅助类
摘要
公共方法 |
static
void
|
addToZip(ZipOutputStream out, File file, List<String> relativePathSegs)
以递归方式将指定文件及其内容添加到 ZipOutputStream
|
static
void
|
applyPermission(File targetFile, CentralDirectoryInfo zipEntry)
应用在中央目录条目中配置的文件权限。
|
static
void
|
closeZip(ZipFile zipFile)
关闭已打开的 ZipFile,忽略所有异常。
|
static
File
|
createZip(File dir, String name)
用于创建包含指定目录及其所有内容的临时 ZIP 文件的实用方法。
|
static
File
|
createZip(File dir)
用于创建包含指定目录及其所有内容的临时 ZIP 文件的实用方法。
|
static
File
|
createZip(List<File> files)
用于创建包含指定文件的临时 zip 文件的实用方法
|
static
File
|
createZip(List<File> files, String name)
用于创建包含指定文件的临时 zip 文件的实用方法。
|
static
void
|
createZip(List<File> files, File zipFile)
用于创建包含指定文件的 ZIP 文件的实用方法
|
static
void
|
createZip(File dir, File zipFile)
用于创建包含指定目录及其所有内容的 ZIP 文件的实用方法。
|
static
File
|
extractFileFromZip(ZipFile zipFile, String filePath)
用于将一个特定文件从 zip 文件提取到临时文件的实用方法
|
static
void
|
extractZip(ZipFile zipFile, File destDir)
用于将 ZIP 文件的全部内容提取到指定目录中的实用方法
|
static
void
|
extractZip(ZipFile zipFile, File destDir, Predicate<ZipEntry> shouldExtract)
用于将 ZIP 文件的内容提取到指定目录中的实用方法
|
static
File
|
extractZipToTemp(File zipFile, String nameHint)
将 zip 文件解压缩到以字符串为前缀的临时目录
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)
获取 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 ()
公共方法
addToZip
public static void addToZip (ZipOutputStream out,
File file,
List<String> relativePathSegs)
以递归方式将指定文件及其内容添加到 ZipOutputStream
| 参数 |
out |
ZipOutputStream:ZipOutputStream |
file |
File:要添加到数据流的 File |
relativePathSegs |
List:文件的相对路径,包括分隔符 |
| 抛出 |
IOException |
如果未能将文件添加到 zip |
applyPermission
public static void applyPermission (File targetFile,
CentralDirectoryInfo zipEntry)
应用在中央目录条目中配置的文件权限。
closeZip
public static void closeZip (ZipFile zipFile)
关闭已打开的 ZipFile,忽略所有例外情况。
| 参数 |
zipFile |
ZipFile:要关闭的文件 |
createZip
public static File createZip (File dir,
String name)
用于创建临时 ZIP 文件的实用方法,该文件包含指定目录及其所有内容。
| 参数 |
dir |
File:要压缩的目录 |
name |
String:所创建 ZIP 文件的基本名称(不含扩展名)。 |
| 返回 |
File |
包含目录内容的临时 zip File |
| 抛出 |
IOException |
如果未能创建 zip 文件 |
createZip
public static File createZip (File dir)
用于创建临时 ZIP 文件的实用方法,该文件包含指定目录及其所有内容。
| 返回 |
File |
包含目录内容的临时 zip File |
| 抛出 |
IOException |
如果未能创建 zip 文件 |
createZip
public static File createZip (List<File> files)
用于创建包含指定文件的临时 ZIP 文件的实用方法
| 返回 |
File |
包含目录内容的临时 zip File |
| 抛出 |
IOException |
如果未能创建 zip 文件 |
createZip
public static File createZip (List<File> files,
String name)
用于创建包含指定文件的临时 ZIP 文件的实用方法。
| 参数 |
files |
List:要压缩的文件的列表 |
name |
String:所创建 ZIP 文件的基本名称(不含扩展名)。 |
| 返回 |
File |
包含目录内容的临时 zip File |
| 抛出 |
IOException |
如果未能创建 zip 文件 |
createZip
public static void createZip (List<File> files,
File zipFile)
用于创建包含指定文件的 ZIP 文件的实用方法
| 参数 |
files |
List:要压缩的文件的列表 |
zipFile |
File:要创建的 zip 文件 - 它不应已存在 |
| 抛出 |
IOException |
如果未能创建 zip 文件 |
createZip
public static void createZip (File dir,
File zipFile)
用于创建包含指定目录及其所有内容的 ZIP 文件的实用方法。
| 参数 |
dir |
File:要压缩的目录 |
zipFile |
File:要创建的 zip 文件 - 它不应已存在 |
| 抛出 |
IOException |
如果未能创建 zip 文件 |
public static File extractFileFromZip (ZipFile zipFile,
String filePath)
用于将一个特定文件从 zip 文件提取到临时文件的实用方法
| 参数 |
zipFile |
ZipFile:要提取的 ZipFile |
filePath |
String:要提取的文件的文件路径 |
| 返回 |
File |
File;如果未找到,则返回 null |
public static void extractZip (ZipFile zipFile,
File destDir)
用于将 ZIP 文件的全部内容提取到指定目录中的实用方法
| 参数 |
zipFile |
ZipFile:要提取的 ZipFile |
destDir |
File:要将文件提取到的本地目录 |
public static void extractZip (ZipFile zipFile,
File destDir,
Predicate<ZipEntry> shouldExtract)
用于将 ZIP 文件的内容提取到指定目录中的实用方法
| 参数 |
zipFile |
ZipFile:要提取的 ZipFile |
destDir |
File:要将文件提取到的本地目录 |
shouldExtract |
Predicate:用于确定是否应提取 ZipEntry 的谓词 |
public static File extractZipToTemp (File zipFile,
String nameHint)
将 ZIP 文件解压缩到以字符串为前缀的临时目录
| 参数 |
zipFile |
File:要提取的 ZIP 文件 |
nameHint |
String:临时目录的前缀 |
| 抛出 |
IOException |
|
ZipException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset,
boolean useZip64)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
| 参数 |
partialZipFile |
File:包含中央目录条目的部分 zip 文件的 File 对象。 |
endCentralDirInfo |
EndCentralDirectoryInfo:相应 ZIP 文件的 EndCentralDirectoryInfo 对象。 |
offset |
long:部分 zip 文件中中央目录条目内容开始处的偏移量。 |
useZip64 |
boolean:一个布尔值,用于支持部分下载中的 zip64 格式。 |
| 抛出 |
|
java.io.IOException |
IOException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
| 抛出 |
|
java.io.IOException |
IOException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
boolean useZip64)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
| 参数 |
partialZipFile |
File:包含中央目录条目的部分 zip 文件的 File 对象。 |
endCentralDirInfo |
EndCentralDirectoryInfo:相应 ZIP 文件的 EndCentralDirectoryInfo 对象。 |
useZip64 |
boolean:一个布尔值,用于支持部分下载中的 zip64 格式。 |
| 抛出 |
|
java.io.IOException |
IOException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset)
获取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
| 参数 |
partialZipFile |
File:包含中央目录条目的部分 zip 文件的 File 对象。 |
endCentralDirInfo |
EndCentralDirectoryInfo:相应 ZIP 文件的 EndCentralDirectoryInfo 对象。 |
offset |
long:部分 zip 文件中中央目录条目内容开始处的偏移量。 |
| 抛出 |
|
java.io.IOException |
IOException |
|
gzipFile
public static void gzipFile (File file,
File gzipFile)
用于创建单个文件的 gzip 压缩版本的辅助方法。
| 参数 |
file |
File:原始文件 |
gzipFile |
File:用于放置压缩内容的文件 |
| 抛出 |
|
java.io.IOException |
IOException |
|
isZipFileValid
public static boolean isZipFileValid (File zipFile,
boolean thorough)
用于验证 ZIP 文件是否损坏的实用方法。
| 参数 |
zipFile |
File:要检查的 File |
thorough |
boolean:是否尝试完全提取归档文件。如果值为 false,此方法将无法检测格式正确的归档中的 CRC 错误。 |
| 返回 |
boolean |
如果文件似乎已损坏,则为 false;否则为 true |
| 抛出 |
IOException |
如果无法打开或读取文件 |
unzipPartialZipFile
public static void unzipPartialZipFile (File partialZip,
File targetFile,
CentralDirectoryInfo zipEntry,
LocalFileHeader localFileHeader,
long startOffset)
从部分 ZIP 文件中提取单个请求的文件。
此方法假设压缩时所有文件都在同一磁盘上。
如果 ERROR(/targetFile) 是一个目录,则会创建一个不包含其内容的空目录。
如果 ERROR(/targetFile) 是符号链接,则系统会创建符号链接,但不会解析该链接。
它目前不支持以下功能:
ZIP 文件大于 4GB
ZIP64(需要更新压缩大小的 ZipLocalFileHeader)
加密的 zip 文件
| 参数 |
partialZip |
File:ZIP 文件的部分内容。File |
targetFile |
File:用于保存提取文件的 File。 |
zipEntry |
CentralDirectoryInfo:要从部分 ZIP 文件中提取的文件的 CentralDirectoryInfo 对象。 |
localFileHeader |
LocalFileHeader:要从部分 ZIP 文件中提取的文件的 LocalFileHeader 对象。 |
startOffset |
long:要提取的文件的起始偏移量。 |
| 抛出 |
|
java.io.IOException |
IOException |
|
unzipPartialZipFolder
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
从部分 ZIP 文件中提取所请求的文件夹,并应用适当的权限。
| 抛出 |
|
java.io.IOException |
IOException |
|
受保护的方法
validateDestinationDir
protected static void validateDestinationDir (File destDir,
String filename)
| 参数 |
destDir |
File |
filename |
String |
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-06-22。
[null,null,["最后更新时间 (UTC):2026-06-22。"],[],[]]