ZipUtil

public class ZipUtil
extends Object

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


Class helper untuk operasi terkait kompresi

Ringkasan

Konstruktor publik

ZipUtil()

Metode publik

static void addToZip(ZipOutputStream out, File file, List<String> relativePathSegs)

Menambahkan file yang diberikan dan isinya secara rekursif ke ZipOutputStream

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

Menerapkan izin file yang dikonfigurasi dalam entri direktori pusat.

static void closeZip(ZipFile zipFile)

Menutup ZipFile yang terbuka, dengan mengabaikan pengecualian apa pun.

static File createZip(File dir, String name)

Metode utilitas untuk membuat file ZIP sementara yang berisi direktori tertentu dan semua isinya.

static File createZip(File dir)

Metode utilitas untuk membuat file ZIP sementara yang berisi direktori tertentu dan semua isinya.

static File createZip(List<File> files)

Metode utilitas untuk membuat file zip sementara yang berisi file tertentu

static File createZip(List<File> files, String name)

Metode utilitas untuk membuat file zip sementara yang berisi file tertentu.

static void createZip(List<File> files, File zipFile)

Metode utilitas untuk membuat file zip yang berisi file tertentu

static void createZip(File dir, File zipFile)

Metode utilitas untuk membuat file ZIP yang berisi direktori tertentu dan semua isinya.

static File extractFileFromZip(ZipFile zipFile, String filePath)

Metode utilitas untuk mengekstrak satu file tertentu dari file zip ke file tmp

static void extractZip(ZipFile zipFile, File destDir)

Metode utilitas untuk mengekstrak seluruh konten file zip ke dalam direktori tertentu

static void extractZip(ZipFile zipFile, File destDir, Predicate<ZipEntry> shouldExtract)

Metode utilitas untuk mengekstrak konten file zip ke dalam direktori tertentu

static File extractZipToTemp(File zipFile, String nameHint)

Mengekstrak file zip ke direktori sementara yang diawali dengan string

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)

Mendapatkan daftar {link CentralDirectoryInfo} untuk file dalam file zip.

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

Mendapatkan daftar {link CentralDirectoryInfo} untuk file dalam file zip.

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)

Mendapatkan daftar {link CentralDirectoryInfo} untuk file dalam file zip.

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)

Mendapatkan daftar {link CentralDirectoryInfo} untuk file dalam file zip.

static void gzipFile(File file, File gzipFile)

Metode helper untuk membuat versi ter-gzip dari satu file.

static boolean isZipFileValid(File zipFile, boolean thorough)

Metode utilitas untuk memverifikasi bahwa file zip tidak rusak.

static void unzipPartialZipFile(File partialZip, File targetFile, CentralDirectoryInfo zipEntry, LocalFileHeader localFileHeader, long startOffset)

Mengekstrak satu file yang diminta dari file zip parsial.

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

Ekstrak folder yang diminta dari file zip parsial dan terapkan izin yang sesuai.

Metode yang dilindungi

static void validateDestinationDir(File destDir, String filename)

Konstruktor publik

ZipUtil

public ZipUtil ()

Metode publik

addToZip

public static void addToZip (ZipOutputStream out, 
                File file, 
                List<String> relativePathSegs)

Menambahkan file yang diberikan dan isinya secara rekursif ke ZipOutputStream

Parameter
out ZipOutputStream: ZipOutputStream

file File: File yang akan ditambahkan ke aliran

relativePathSegs List: jalur relatif file, termasuk pemisah

Menampilkan
IOException jika gagal menambahkan file ke zip

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

Menerapkan izin file yang dikonfigurasi dalam entri direktori pusat.

Parameter
targetFile File: File untuk menetapkan izin.

zipEntry CentralDirectoryInfo: objek CentralDirectoryInfo yang berisi izin file.

Menampilkan
IOException jika gagal mengakses file.

closeZip

public static void closeZip (ZipFile zipFile)

Menutup ZipFile yang terbuka, dengan mengabaikan pengecualian apa pun.

Parameter
zipFile ZipFile: file yang akan ditutup

createZip

public static File createZip (File dir, 
                String name)

Metode utilitas untuk membuat file ZIP sementara yang berisi direktori tertentu dan semua isinya.

Parameter
dir File: direktori yang akan di-zip

name String: nama dasar file zip yang dibuat tanpa ekstensi.

Hasil
File zip sementara File yang berisi konten direktori

Menampilkan
IOException jika gagal membuat file zip

createZip

public static File createZip (File dir)

Metode utilitas untuk membuat file ZIP sementara yang berisi direktori tertentu dan semua isinya.

Parameter
dir File: direktori yang akan di-zip

Hasil
File zip sementara File yang berisi konten direktori

Menampilkan
IOException jika gagal membuat file zip

createZip

public static File createZip (List<File> files)

Metode utilitas untuk membuat file zip sementara yang berisi file tertentu

Parameter
files List: daftar file yang akan di-ZIP

Hasil
File zip sementara File yang berisi konten direktori

Menampilkan
IOException jika gagal membuat file zip

createZip

public static File createZip (List<File> files, 
                String name)

Metode utilitas untuk membuat file zip sementara yang berisi file tertentu.

Parameter
files List: daftar file yang akan di-ZIP

name String: nama dasar file zip yang dibuat tanpa ekstensi.

Hasil
File zip sementara File yang berisi konten direktori

Menampilkan
IOException jika gagal membuat file zip

createZip

public static void createZip (List<File> files, 
                File zipFile)

Metode utilitas untuk membuat file zip yang berisi file tertentu

Parameter
files List: daftar file yang akan di-ZIP

zipFile File: file ZIP yang akan dibuat - file ini tidak boleh sudah ada

Menampilkan
IOException jika gagal membuat file zip

createZip

public static void createZip (File dir, 
                File zipFile)

Metode utilitas untuk membuat file ZIP yang berisi direktori tertentu dan semua isinya.

Parameter
dir File: direktori yang akan di-zip

zipFile File: file ZIP yang akan dibuat - file ini tidak boleh sudah ada

Menampilkan
IOException jika gagal membuat file zip

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

Metode utilitas untuk mengekstrak satu file tertentu dari file zip ke file tmp

Parameter
zipFile ZipFile: ZipFile yang akan diekstrak

filePath String: filePath yang akan diekstrak

Hasil
File File atau null jika tidak ditemukan

Menampilkan
IOException jika gagal mengekstrak file

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Metode utilitas untuk mengekstrak seluruh konten file zip ke dalam direktori tertentu

Parameter
zipFile ZipFile: ZipFile yang akan diekstrak

destDir File: direktori lokal untuk mengekstrak file

Menampilkan
IOException jika gagal mengekstrak file

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir, 
                Predicate<ZipEntry> shouldExtract)

Metode utilitas untuk mengekstrak konten file zip ke dalam direktori tertentu

Parameter
zipFile ZipFile: ZipFile yang akan diekstrak

destDir File: direktori lokal untuk mengekstrak file

shouldExtract Predicate: predikat untuk menentukan apakah ZipEntry harus diekstrak

Menampilkan
IOException jika gagal mengekstrak file

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

Mengekstrak file zip ke direktori sementara yang diawali dengan string

Parameter
zipFile File: file zip yang akan diekstrak

nameHint String: awalan untuk direktori sementara

Hasil
File File yang mengarah ke direktori temp

Menampilkan
IOException
ZipException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset, 
                boolean useZip64)

Mendapatkan daftar {link CentralDirectoryInfo} untuk file dalam file zip.

Parameter
partialZipFile File: objek File dari file zip parsial yang berisi entri direktori pusat.

endCentralDirInfo EndCentralDirectoryInfo: objek EndCentralDirectoryInfo dari file zip.

offset long: offset dalam file zip parsial tempat konten entri direktori pusat dimulai.

useZip64 boolean: boolean untuk mendukung format zip64 dalam download sebagian.

Hasil
List<CentralDirectoryInfo> Daftar CentralDirectoryInfo file zip

Menampilkan
java.io.IOException
IOException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

Mendapatkan daftar {link CentralDirectoryInfo} untuk file dalam file zip.

Parameter
partialZipFile File: objek File dari file zip parsial yang berisi entri direktori pusat.

endCentralDirInfo EndCentralDirectoryInfo: objek EndCentralDirectoryInfo dari file zip.

Hasil
List<CentralDirectoryInfo> Daftar CentralDirectoryInfo file zip

Menampilkan
java.io.IOException
IOException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                boolean useZip64)

Mendapatkan daftar {link CentralDirectoryInfo} untuk file dalam file zip.

Parameter
partialZipFile File: objek File dari file zip parsial yang berisi entri direktori pusat.

endCentralDirInfo EndCentralDirectoryInfo: objek EndCentralDirectoryInfo dari file zip.

useZip64 boolean: boolean untuk mendukung format zip64 dalam download sebagian.

Hasil
List<CentralDirectoryInfo> Daftar CentralDirectoryInfo file zip

Menampilkan
java.io.IOException
IOException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset)

Mendapatkan daftar {link CentralDirectoryInfo} untuk file dalam file zip.

Parameter
partialZipFile File: objek File dari file zip parsial yang berisi entri direktori pusat.

endCentralDirInfo EndCentralDirectoryInfo: objek EndCentralDirectoryInfo dari file zip.

offset long: offset dalam file zip parsial tempat konten entri direktori pusat dimulai.

Hasil
List<CentralDirectoryInfo> Daftar CentralDirectoryInfo file zip

Menampilkan
java.io.IOException
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

Metode helper untuk membuat versi ter-gzip dari satu file.

Parameter
file File: file asli

gzipFile File: file untuk menempatkan konten terkompresi

Menampilkan
java.io.IOException
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

Metode utilitas untuk memverifikasi bahwa file zip tidak rusak.

Parameter
zipFile File: File yang akan diperiksa

thorough boolean: Apakah akan mencoba mengekstrak arsip sepenuhnya. Jika false, metode ini akan gagal mendeteksi error CRC dalam arsip yang terbentuk dengan baik.

Hasil
boolean false jika file tampak rusak; true jika tidak

Menampilkan
IOException jika file tidak dapat dibuka atau dibaca

unzipPartialZipFile

public static void unzipPartialZipFile (File partialZip, 
                File targetFile, 
                CentralDirectoryInfo zipEntry, 
                LocalFileHeader localFileHeader, 
                long startOffset)

Mengekstrak satu file yang diminta dari file zip parsial.

Metode ini mengasumsikan semua file berada di disk yang sama saat dikompresi.

Jika ERROR(/targetFile) adalah direktori, direktori kosong akan dibuat tanpa isinya.

Jika ERROR(/targetFile) adalah symlink, symlink akan dibuat tetapi tidak diselesaikan.

Fitur berikut belum didukung:

File ZIP lebih besar dari 4 GB

ZIP64(memerlukan update ZipLocalFileHeader pada ukuran terkompresi)

File ZIP terenkripsi

Parameter
partialZip File: File yang merupakan bagian dari file zip.

targetFile File: File untuk menyimpan file yang diekstrak.

zipEntry CentralDirectoryInfo: objek CentralDirectoryInfo dari file yang akan diekstrak dari file zip parsial.

localFileHeader LocalFileHeader: objek LocalFileHeader dari file yang akan diekstrak dari file zip parsial.

startOffset long: offset awal file yang akan diekstrak.

Menampilkan
java.io.IOException
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

Ekstrak folder yang diminta dari file zip parsial dan terapkan izin yang sesuai.

Parameter
targetFile File: File untuk menyimpan file yang diekstrak.

zipEntry CentralDirectoryInfo: objek CentralDirectoryInfo dari file yang akan diekstrak dari file zip parsial.

Menampilkan
java.io.IOException
IOException

Metode yang dilindungi

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Parameter
destDir File

filename String

Menampilkan
IOException