Zipユーティリティ

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)

特定の 1 つのファイルを 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 ファイルから要求されたフォルダーを抽出し、適切なアクセス許可を適用します。

パブリック コンストラクター

Zipユーティリティ

public ZipUtil ()

公開メソッド

addToZip

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

指定されたファイルとその内容を再帰的に ZipOutputStream に追加します

パラメーター
out ZipOutputStream : ERROR(/ZipOutputStream)

file File : ストリームに追加するERROR(/File)

relativePathSegs : セパレータを含むファイルの相対パス

スロー
ファイルをzipに追加できなかった場合

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

中央ディレクトリ エントリで構成されたファイル アクセス許可を適用します。

パラメーター
targetFile File : アクセス権を設定するERROR(/File)

zipEntry CentralDirectoryInfo : ファイルのアクセス許可を含むCentralDirectoryInfoオブジェクト。

スロー
ファイルへのアクセスに失敗した場合。

closeZip

public static void closeZip (ZipFile zipFile)

例外を無視して、開いているERROR(/ZipFile)を閉じます。

パラメーター
zipFile ZipFile : 閉じるファイル

createZip

public static File createZip (File dir)

指定されたディレクトリとそのすべてのコンテンツを含む一時 zip ファイルを作成するユーティリティ メソッド。

パラメーター
dir File : 圧縮するディレクトリ

戻り値
Fileディレクトリの内容を含む一時的な zip ERROR(/File)

スロー
zipファイルの作成に失敗した場合

createZip

public static File createZip ( files, 
                String name)

指定されたファイルを含む一時 zip ファイルを作成するユーティリティ メソッド。

パラメーター
files : 圧縮するファイルのリスト

name String : 拡張子なしで作成された zip ファイルのベース名。

戻り値
Fileディレクトリの内容を含む一時的な zip ERROR(/File)

スロー
zipファイルの作成に失敗した場合

createZip

public static File createZip (File dir, 
                String name)

指定されたディレクトリとそのすべてのコンテンツを含む一時 zip ファイルを作成するユーティリティ メソッド。

パラメーター
dir File : 圧縮するディレクトリ

name String : 拡張子なしで作成された zip ファイルのベース名。

戻り値
Fileディレクトリの内容を含む一時的な zip ERROR(/File)

スロー
zipファイルの作成に失敗した場合

createZip

public static File createZip ( files)

指定されたファイルを含む一時 zip ファイルを作成するユーティリティ メソッド

パラメーター
files : 圧縮するファイルのリスト

戻り値
Fileディレクトリの内容を含む一時的な zip ERROR(/File)

スロー
zipファイルの作成に失敗した場合

createZip

public static void createZip (File dir, 
                File zipFile)

指定されたディレクトリとそのすべてのコンテンツを含む zip ファイルを作成するユーティリティ メソッド。

パラメーター
dir File : 圧縮するディレクトリ

zipFile File : 作成する zip ファイル - まだ存在していてはなりません

スロー
zipファイルの作成に失敗した場合

createZip

public static void createZip ( files, 
                File zipFile)

指定されたファイルを含む zip ファイルを作成するユーティリティ メソッド

パラメーター
files : 圧縮するファイルのリスト

zipFile File : 作成する zip ファイル - まだ存在していてはなりません

スロー
zipファイルの作成に失敗した場合

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

特定の 1 つのファイルを zip ファイルから tmp ファイルに抽出するユーティリティ メソッド

パラメーター
zipFile ZipFile : 抽出するERROR(/ZipFile)

filePath String : 抽出する filePath

戻り値
File ERROR(/File)または見つからない場合は null

スロー
ファイルの抽出に失敗した場合

zip を抽出

public static void extractZip (ZipFile zipFile, 
                File destDir)

zip ファイルの内容全体を特定のディレクトリに抽出するユーティリティ メソッド

パラメーター
zipFile ZipFile : 抽出するERROR(/ZipFile)

destDir File : ファイルを抽出するローカル ディレクトリ

スロー
ファイルの抽出に失敗した場合

zip を抽出

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

zip ファイルの内容を特定のディレクトリに抽出するユーティリティ メソッド

パラメーター
zipFile ZipFile : 抽出するERROR(/ZipFile)

destDir File : ファイルを抽出するローカル ディレクトリ

shouldExtract : ZipEntry を抽出する必要があるかどうかを判断する述語

スロー
ファイルの抽出に失敗した場合

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 : zip ファイルのEndCentralDirectoryInfoオブジェクト。

useZip64 boolean : 部分ダウンロードで zip64 形式をサポートするブール値。

戻り値
zip ファイルのCentralDirectoryInfoのリスト

スロー
IO例外

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 ファイル内のオフセット。

戻り値
zip ファイルのCentralDirectoryInfoのリスト

スロー
IO例外

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

zip ファイル内のファイルの {link CentralDirectoryInfo} のリストを取得します。

パラメーター
partialZipFile File : 中央ディレクトリ エントリを含む部分的な zip ファイルのERROR(/File)オブジェクト。

endCentralDirInfo EndCentralDirectoryInfo : zip ファイルのEndCentralDirectoryInfoオブジェクト。

戻り値
zip ファイルのCentralDirectoryInfoのリスト

スロー
IO例外

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 形式をサポートするブール値。

戻り値
zip ファイルのCentralDirectoryInfoのリスト

スロー
IO例外

gzipファイル

public static void gzipFile (File file, 
                File gzipFile)

単一ファイルの gzip バージョンを作成するヘルパー メソッド。

パラメーター
file File : 元のファイル

gzipFile File : 圧縮されたコンテンツを配置するファイル

スロー
IO例外

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 ファイルから抽出します。

この方法は、圧縮時にすべてのファイルが同じディスク上にあることを前提としています。次の機能はまだサポートされていません。

4GBを超えるzipファイル

ZIP64 (圧縮サイズで ZipLocalFileHeader の更新が必要)

暗号化されたzipファイル

シンボリックリンク

パラメーター
partialZip File : zip ファイルの一部であるERROR(/File)

targetFile File : 抽出されたファイルを保存するERROR(/File)

zipEntry CentralDirectoryInfo : 部分的な zip ファイルから抽出するファイルのCentralDirectoryInfoオブジェクト。

localFileHeader LocalFileHeader : 部分的な zip ファイルから抽出するファイルのLocalFileHeaderオブジェクト。

startOffset long : 抽出するファイルの開始オフセット。

スロー
IO例外

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

部分的な zip ファイルから要求されたフォルダーを抽出し、適切なアクセス許可を適用します。

パラメーター
targetFile File : 抽出されたファイルを保存するERROR(/File)

zipEntry CentralDirectoryInfo : 部分的な zip ファイルから抽出するファイルのCentralDirectoryInfoオブジェクト。

スロー
IO例外