壓縮工具
public class ZipUtil
extends Object
java.lang.Object |
↳ | com.android.tradefed.util.ZipUtil |
用於壓縮相關操作的輔助類
概括
公共方法 |
---|
static void | addToZip (ZipOutputStream out, File file, relativePathSegs) 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) createZip ( files, String name) 建立包含給定檔案的臨時 zip 檔案的實用方法。 |
static File | createZip (File dir, String name) 建立包含給定目錄及其所有內容的臨時 zip 檔案的實用方法。 |
static File | createZip ( files) createZip ( files) 建立包含給定檔案的臨時 zip 檔案的實用方法 |
static void | createZip (File dir, File zipFile) 建立包含給定目錄及其所有內容的 zip 檔案的實用方法。 |
static void | createZip ( files, File zipFile) 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) 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 檔案中提取請求的資料夾並套用適當的權限。 |
公共構造函數
公共方法
加入壓縮包
public static void addToZip (ZipOutputStream out,
File file,
relativePathSegs)
遞歸地將給定文件及其內容新增至 ZipOutputStream
申請權限
public static void applyPermission (File targetFile,
CentralDirectoryInfo zipEntry)
應用在中央目錄條目中配置的檔案權限。
關閉Zip
public static void closeZip (ZipFile zipFile)
關閉開啟的ERROR(/ZipFile)
,忽略任何異常。
參數 |
---|
zipFile | ZipFile :要關閉的文件 |
創建Zip
public static File createZip (File dir)
建立包含給定目錄及其所有內容的臨時 zip 檔案的實用方法。
創建Zip
public static File createZip ( files,
String name)
建立包含給定檔案的臨時 zip 檔案的實用方法。
參數 |
---|
files | :要壓縮的檔案列表 |
name | String :已建立的 zip 檔案的基本名稱(不含副檔名)。 |
創建Zip
public static File createZip (File dir,
String name)
建立包含給定目錄及其所有內容的臨時 zip 檔案的實用方法。
參數 |
---|
dir | File :要壓縮的目錄 |
name | String :已建立的 zip 檔案的基本名稱(不含副檔名)。 |
創建Zip
public static File createZip ( files)
建立包含給定檔案的臨時 zip 檔案的實用方法
創建Zip
public static void createZip (File dir,
File zipFile)
建立包含給定目錄及其所有內容的 zip 檔案的實用方法。
參數 |
---|
dir | File :要壓縮的目錄 |
zipFile | File :要建立的 zip 檔案 - 它不應該已經存在 |
創建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 : 暫存目錄的前綴 |
取得ZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
boolean useZip64)
取得 zip 檔案中檔案的 {link CentralDirectoryInfo} 清單。
取得ZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset)
取得 zip 檔案中檔案的 {link CentralDirectoryInfo} 清單。
取得ZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)
取得 zip 檔案中檔案的 {link CentralDirectoryInfo} 清單。
取得ZipCentralDirectoryInfos
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 : 放置壓縮內容的文件 |
壓縮檔案是否有效
public static boolean isZipFileValid (File zipFile,
boolean thorough)
驗證 zip 檔案未損壞的實用方法。
參數 |
---|
zipFile | File :要檢查的ERROR(/File) |
thorough | boolean :是否嘗試完全擷取檔案。如果為false ,此方法將無法偵測格式良好的檔案中的 CRC 錯誤。 |
退貨 |
---|
boolean | 如果檔案似乎已損壞,則為false ;否則為true |
unzip部分Zip文件
public static void unzipPartialZipFile (File partialZip,
File targetFile,
CentralDirectoryInfo zipEntry,
LocalFileHeader localFileHeader,
long startOffset)
從部分 zip 檔案中提取請求的檔案。
此方法假設壓縮時所有檔案都位於同一磁碟上。目前尚不支援以下功能:
Zip 檔案大於 4GB
ZIP64(需要更新壓縮大小的 ZipLocalFileHeader)
加密的 zip 文件
符號連結
unzip部分Zip資料夾
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
從部分 zip 檔案中提取請求的資料夾並套用適當的權限。
受保護的方法
驗證目標目錄
protected static void validateDestinationDir (File destDir,
String filename)
參數 |
---|
destDir | File |
filename | String |