壓縮工具
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)
應用在中央目錄條目中配置的文件權限。
關閉壓縮包
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 應該被提取,則要進行 dermine 的謂詞 |
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} 列表。
getZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset)
獲取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。
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 :壓縮文件的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 |
解壓縮PartialZip文件
public static void unzipPartialZipFile (File partialZip,
File targetFile,
CentralDirectoryInfo zipEntry,
LocalFileHeader localFileHeader,
long startOffset)
從部分 zip 文件中提取請求的文件。
此方法假定所有文件在壓縮時都位於同一磁盤上。它還不支持以下功能:
大於 4GB 的 Zip 文件
ZIP64(壓縮大小需要 ZipLocalFileHeader 更新)
加密的 zip 文件
符號鏈接
解壓縮PartialZip文件夾
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
從部分 zip 文件中提取請求的文件夾並應用適當的權限。