壓縮工具

public class ZipUtil
extends Object

java.lang.Object
com.android.tradefed.util.ZipUtil


壓縮相關操作的輔助類

概括

公共構造函數

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 ZipUtil ()

公共方法

添加到壓縮包

public static void addToZip (ZipOutputStream out, 
                File file, 
                 relativePathSegs)

遞歸地將給定文件及其內容添加到 ZipOutputStream

參數
out ZipOutputStream : ERROR(/ZipOutputStream)

file File :要添加到流中的ERROR(/File)

relativePathSegs : 文件的相對路徑,包括分隔符

投擲
如果無法將文件添加到 zip

申請權限

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

應用在中央目錄條目中配置的文件權限。

參數
targetFile File :要設置權限的ERROR(/File)

zipEntry CentralDirectoryInfo :包含文件權限的CentralDirectoryInfo對象。

投擲
如果無法訪問該文件。

關閉壓縮包

public static void closeZip (ZipFile zipFile)

關閉打開的ERROR(/ZipFile) ,忽略任何異常。

參數
zipFile ZipFile :要關閉的文件

創建Zip

public static File createZip (File dir)

用於創建包含給定目錄及其所有內容的臨時 zip 文件的實用方法。

參數
dir File :要壓縮的目錄

退貨
File包含目錄內容的臨時 zip ERROR(/File)

投擲
如果創建 zip 文件失敗

創建Zip

public static File createZip ( files, 
                String name)

創建包含給定文件的臨時 zip 文件的實用方法。

參數
files : 要壓縮的文件列表

name String :創建的不帶擴展名的 zip 文件的基本名稱。

退貨
File包含目錄內容的臨時 zip ERROR(/File)

投擲
如果創建 zip 文件失敗

創建Zip

public static File createZip (File dir, 
                String name)

用於創建包含給定目錄及其所有內容的臨時 zip 文件的實用方法。

參數
dir File :要壓縮的目錄

name String :創建的不帶擴展名的 zip 文件的基本名稱。

退貨
File包含目錄內容的臨時 zip ERROR(/File)

投擲
如果創建 zip 文件失敗

創建Zip

public static File createZip ( files)

創建包含給定文件的臨時 zip 文件的實用方法

參數
files : 要壓縮的文件列表

退貨
File包含目錄內容的臨時 zip ERROR(/File)

投擲
如果創建 zip 文件失敗

創建Zip

public static void createZip (File dir, 
                File zipFile)

創建包含給定目錄及其所有內容的 zip 文件的實用方法。

參數
dir File :要壓縮的目錄

zipFile File :要創建的 zip 文件 - 它不應該已經存在

投擲
如果創建 zip 文件失敗

創建Zip

public static void createZip ( files, 
                File zipFile)

創建包含給定文件的 zip 文件的實用方法

參數
files : 要壓縮的文件列表

zipFile File :要創建的 zip 文件 - 它不應該已經存在

投擲
如果創建 zip 文件失敗

從 Zip 中提取文件

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

將一個特定文件從 zip 文件提取到 tmp 文件的實用方法

參數
zipFile ZipFile :要提取的ERROR(/ZipFile)

filePath String : 要提取的文件路徑

退貨
File ERROR(/File)或 null(如果未找到)

投擲
如果無法提取文件

解壓縮

public static void extractZip (ZipFile zipFile, 
                File destDir)

將 zip 文件的全部內容提取到給定目錄的實用方法

參數
zipFile ZipFile :要提取的ERROR(/ZipFile)

destDir File :將文件提取到的本地目錄

投擲
如果無法提取文件

解壓縮

public static void extractZip (ZipFile zipFile, 
                File destDir, 
                 shouldExtract)

將 zip 文件的內容提取到給定目錄的實用方法

參數
zipFile ZipFile :要提取的ERROR(/ZipFile)

destDir File :將文件提取到的本地目錄

shouldExtract : 如果 ZipEntry 應該被提取,則要進行 dermine 的謂詞

投擲
如果無法提取文件

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

將一個 zip 文件解壓縮到一個以字符串為前綴的臨時目錄

參數
zipFile File :要提取的 zip 文件

nameHint String :臨時目錄的前綴

退貨
File指向臨時目錄的ERROR(/File)

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                boolean useZip64)

獲取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。

參數
partialZipFile File :包含中央目錄條目的部分 zip 文件的ERROR(/File)對象。

endCentralDirInfo EndCentralDirectoryInfo :壓縮文件的EndCentralDirectoryInfo對象。

useZip64 boolean : 在部分下載中支持 zip64 格式的布爾值。

退貨
zip 文件的CentralDirectoryInfo列表

投擲
異常

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset)

獲取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。

參數
partialZipFile File :包含中央目錄條目的部分 zip 文件的ERROR(/File)對象。

endCentralDirInfo EndCentralDirectoryInfo :壓縮文件的EndCentralDirectoryInfo對象。

offset long :部分 zip 文件中中央目錄條目內容開始的偏移量。

退貨
zip 文件的CentralDirectoryInfo列表

投擲
異常

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

獲取 zip 文件中文件的 {link CentralDirectoryInfo} 列表。

參數
partialZipFile File :包含中央目錄條目的部分 zip 文件的ERROR(/File)對象。

endCentralDirInfo EndCentralDirectoryInfo :壓縮文件的EndCentralDirectoryInfo對象。

退貨
zip 文件的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 格式的布爾值。

退貨
zip 文件的CentralDirectoryInfo列表

投擲
異常

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 File :一個ERROR(/File)是 zip 文件的一部分。

targetFile File : 將提取的文件保存到的ERROR(/File)

zipEntry CentralDirectoryInfo :要從部分 zip 文件中提取的文件的CentralDirectoryInfo對象。

localFileHeader LocalFileHeader :要從部分 zip 文件中提取的文件的LocalFileHeader對象。

startOffset long :要提取的文件的起始偏移量。

投擲
異常

解壓縮PartialZip文件夾

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

從部分 zip 文件中提取請求的文件夾並應用適當的權限。

參數
targetFile File : 將提取的文件保存到的ERROR(/File)

zipEntry CentralDirectoryInfo :要從部分 zip 文件中提取的文件的CentralDirectoryInfo對象。

投擲
異常