拉鍊
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 檔案中擷取要求的資料夾,並套用適當權限。
|
公用建構函式
公用方法
addToZip
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 :要關閉的檔案 |
建立壓縮檔
public static File createZip (File dir)
這個公用程式方法可以建立包含指定目錄的暫存 ZIP 檔案
所有內容
建立壓縮檔
public static File createZip ( files,
String name)
建立包含指定檔案的暫存 ZIP 檔案的公用程式方法。
參數 |
files |
:要壓縮的檔案清單 |
name |
String :沒有副檔名的 ZIP 檔案基礎名稱。 |
建立壓縮檔
public static File createZip (File dir,
String name)
這個公用程式方法可以建立包含指定目錄的暫存 ZIP 檔案
所有內容
參數 |
dir |
File :要壓縮的目錄 |
name |
String :沒有副檔名的 ZIP 檔案基礎名稱。 |
建立壓縮檔
public static File createZip ( files)
建立包含指定檔案的暫存 ZIP 檔案的公用程式方法
建立壓縮檔
public static void createZip (File dir,
File zipFile)
這個公用程式方法可以建立包含指定目錄的 ZIP 檔案
所有內容
參數 |
dir |
File :要壓縮的目錄 |
zipFile |
File :要建立的 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 的述詞 |
public static File extractZipToTemp (File zipFile,
String nameHint)
將 ZIP 檔案解壓縮到前面加上字串的暫存目錄
參數 |
zipFile |
File :要擷取的 ZIP 檔案 |
nameHint |
String :臨時目錄的前置字串 |
取得 ZipCentralDirectoryInfo
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
boolean useZip64)
取得一份 ZIP 檔案所含檔案的 {link CentralDirectoryInfo} 清單。
參數 |
partialZipFile |
File :部分 ZIP 檔案中的 ERROR(/File) 物件,包含中央值
目錄項目。 |
endCentralDirInfo |
EndCentralDirectoryInfo :ZIP 檔案的 EndCentralDirectoryInfo 物件。 |
useZip64 |
boolean :用於在部分下載作業中支援 zip64 格式的布林值。 |
取得 ZipCentralDirectoryInfo
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset)
取得一份 ZIP 檔案所含檔案的 {link CentralDirectoryInfo} 清單。
參數 |
partialZipFile |
File :部分 ZIP 檔案中的 ERROR(/File) 物件,包含中央值
目錄項目。 |
endCentralDirInfo |
EndCentralDirectoryInfo :ZIP 檔案的 EndCentralDirectoryInfo 物件。 |
offset |
long :部分 ZIP 檔案中中央目錄內容的偏移
即可開始執行 |
取得 ZipCentralDirectoryInfo
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)
取得一份 ZIP 檔案所含檔案的 {link CentralDirectoryInfo} 清單。
取得 ZipCentralDirectoryInfo
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 格式的布林值。 |
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 |
解壓縮部分 ZIPFile
public static void unzipPartialZipFile (File partialZip,
File targetFile,
CentralDirectoryInfo zipEntry,
LocalFileHeader localFileHeader,
long startOffset)
從部分 ZIP 檔案中擷取單一要求的檔案。
這個方法會假設所有檔案在壓縮時都位於同一個磁碟上。
如果 ERROR(/targetFile)
是目錄,則會建立沒有目錄的空白目錄
內容。
如果 ERROR(/targetFile)
是符號連結,則系統會建立符號連結,但不會解析。
目前尚不支援下列功能:
超過 4 GB 的 ZIP 檔案
ZIP64(需要更新壓縮大小的 ZipLocalFileHeader)
加密 ZIP 檔案
解壓縮部分 ZipFolder
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
從部分 ZIP 檔案中擷取要求的資料夾,並套用適當權限。
保護方法
VerifyDestinationDir
protected static void validateDestinationDir (File destDir,
String filename)
參數 |
destDir |
File |
filename |
String |