ZipUtil

public class ZipUtil
extends Object

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

保護されたメソッド

static void validateDestinationDir (File destDir, String filename)

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

ZipUtil

public ZipUtil ()

パブリックメソッド

ジップに追加

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

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

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

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

relativePathSegs : ファイルの相対パス (区切り文字を含む)

投げる
ファイルを zip に追加できなかった場合

apply許可

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 : 閉じるファイル

作成ジップ

public static File createZip (File dir)

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

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

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

投げる
zipファイルの作成に失敗した場合

作成ジップ

public static File createZip ( files, 
                String name)

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

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

name String : 拡張子を除いて作成された zip ファイルのベース名。

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

投げる
zipファイルの作成に失敗した場合

作成ジップ

public static File createZip (File dir, 
                String name)

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

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

name String : 拡張子を除いて作成された zip ファイルのベース名。

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

投げる
zipファイルの作成に失敗した場合

作成ジップ

public static File createZip ( files)

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

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

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

投げる
zipファイルの作成に失敗した場合

作成ジップ

public static void createZip (File dir, 
                File zipFile)

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

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

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

投げる
zipファイルの作成に失敗した場合

作成ジップ

public static void createZip ( files, 
                File zipFile)

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

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

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

投げる
zipファイルの作成に失敗した場合

zipからファイルを抽出

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

zip ファイルから 1 つの特定のファイルを 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 を抽出する必要があるかどうかを決定する述語

投げる
ファイルの抽出に失敗した場合

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例外

保護されたメソッド

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

パラメーター
destDir File

filename String