自 2025 年 3 月 27 日起,我們建議您使用 android-latest-release
而非 aosp-main
建構及貢獻 AOSP。詳情請參閱「Android 開放原始碼計畫變更」。
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
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)
公用方法,用於建立包含指定目錄及其所有內容的臨時 ZIP 檔案。
|
static
File
|
createZip( files, String name)
公用程式方法,用於建立包含指定檔案的臨時 ZIP 檔案。
|
static
File
|
createZip(File dir, String name)
公用方法,用於建立包含指定目錄及其所有內容的臨時 ZIP 檔案。
|
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 ()
公用方法
addToZip
public static void addToZip (ZipOutputStream out,
File file,
relativePathSegs)
遞迴式地將指定檔案及其內容加入 ZipOutputStream
applyPermission
public static void applyPermission (File targetFile,
CentralDirectoryInfo zipEntry)
套用中央目錄項目中設定的檔案權限。
closeZip
public static void closeZip (ZipFile zipFile)
關閉已開啟的 ERROR(/ZipFile)
,忽略任何例外狀況。
參數 |
zipFile |
ZipFile :要關閉的檔案 |
createZip
public static File createZip (File dir)
實用方法,可建立包含指定目錄及其所有內容的臨時 ZIP 檔案。
createZip
public static File createZip ( files,
String name)
公用程式方法,用於建立包含指定檔案的臨時 ZIP 檔案。
參數 |
files |
:要壓縮的檔案清單 |
name |
String :不含副檔名的 ZIP 檔案名稱。 |
createZip
public static File createZip (File dir,
String name)
實用方法,可建立包含指定目錄及其所有內容的臨時 ZIP 檔案。
參數 |
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 檔案的 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 檔案的 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 檔案的 ERROR(/File) 物件。 |
endCentralDirInfo |
EndCentralDirectoryInfo :ZIP 檔案的 EndCentralDirectoryInfo 物件。 |
offset |
long :部分 ZIP 檔案中,中央目錄項目內容開始的位置。 |
useZip64 |
boolean :布林值,用於在部分下載中支援 zip64 格式。 |
gzipFile
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)
是符號連結,系統會建立符號連結,但不會解析。
但目前不支援下列功能:
ZIP 檔案大小超過 4 GB
ZIP64(需要在壓縮大小上更新 ZipLocalFileHeader)
已加密的 ZIP 檔案
unzipPartialZipFolder
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
從部分 ZIP 檔案中擷取要求的資料夾,並套用適當權限。
受保護的方法
validateDestinationDir
protected static void validateDestinationDir (File destDir,
String filename)
參數 |
destDir |
File |
filename |
String |
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-03-26 (世界標準時間)。
[[["容易理解","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"]],["上次更新時間:2025-03-26 (世界標準時間)。"],[],[]]