為配合主幹穩定開發模型,並確保生態系統的平台穩定性,我們將自 2026 年起,在第 2 季和第 4 季將原始碼發布至 AOSP。如要建構及貢獻 AOSP,請使用 android-latest-release。android-latest-release 資訊清單分支版本一律會參照推送至 Android 開放原始碼計畫的最新版本。詳情請參閱「Android 開放原始碼計畫變更」。
Google 會運用 AI 技術將內容翻譯成你偏好的語言,但可能會出錯。
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
ZipUtil
public
class
ZipUtil
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.util.ZipUtil
|
用於壓縮相關作業的輔助類別
摘要
公用方法 |
static
void
|
addToZip(ZipOutputStream out, File file, List<String> relativePathSegs)
Recursively adds given file and its contents to 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)
Utility method to create a temporary zip file containing the given files
|
static
File
|
createZip(List<File> files, String name)
公用程式方法,用於建立包含指定檔案的臨時 ZIP 檔案。
|
static
void
|
createZip(List<File> files, File zipFile)
Utility method to create a zip file containing the given files
|
static
void
|
createZip(File dir, File zipFile)
公用程式方法,用於建立包含指定目錄及其所有內容的 ZIP 檔案。
|
static
File
|
extractFileFromZip(ZipFile zipFile, String filePath)
公用程式方法,可將 ZIP 檔案中的特定檔案解壓縮至暫時檔案
|
static
void
|
extractZip(ZipFile zipFile, File destDir)
Utility method to extract entire contents of zip file into given directory
|
static
void
|
extractZip(ZipFile zipFile, File destDir, Predicate<ZipEntry> shouldExtract)
Utility method to extract contents of zip file into given directory
|
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)
Helper 方法,用於建立單一檔案的 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:要解壓縮的 filePath |
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 檔案超過 4 GB
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 和/或其關係企業的商標或註冊商標。
上次更新時間:2026-06-22 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2026-06-22 (世界標準時間)。"],[],[]]