ZipUtil

public class ZipUtil
extends Object

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


Una classe helper per le operazioni correlate alla compressione

Riepilogo

Costruttori pubblici

ZipUtil()

Metodi pubblici

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

Aggiunge in modo ricorsivo il file specificato e i relativi contenuti a ZipOutputStream

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

Applica l'autorizzazione file configurata nella voce della directory centrale.

static void closeZip(ZipFile zipFile)

Chiudi un ZipFile aperto, ignorando eventuali eccezioni.

static File createZip(File dir, String name)

Metodo di utilità per creare un file ZIP temporaneo contenente la directory specificata e tutti i relativi contenuti.

static File createZip(File dir)

Metodo di utilità per creare un file ZIP temporaneo contenente la directory specificata e tutti i relativi contenuti.

static File createZip(List<File> files)

Metodo di utilità per creare un file zip temporaneo contenente i file specificati

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

Metodo di utilità per creare un file zip temporaneo contenente i file specificati.

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

Metodo di utilità per creare un file zip contenente i file specificati

static void createZip(File dir, File zipFile)

Metodo di utilità per creare un file zip contenente la directory specificata e tutti i relativi contenuti.

static File extractFileFromZip(ZipFile zipFile, String filePath)

Metodo di utilità per estrarre un file specifico dal file zip in un file temporaneo

static void extractZip(ZipFile zipFile, File destDir)

Metodo di utilità per estrarre l'intero contenuto del file zip in una determinata directory

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

Metodo di utilità per estrarre i contenuti del file ZIP nella directory specificata

static File extractZipToTemp(File zipFile, String nameHint)

Estrai un file ZIP in una directory temporanea preceduta da una stringa

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

Ottieni un elenco di {link CentralDirectoryInfo} per i file in un file zip.

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

Ottieni un elenco di {link CentralDirectoryInfo} per i file in un file zip.

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

Ottieni un elenco di {link CentralDirectoryInfo} per i file in un file zip.

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

Ottieni un elenco di {link CentralDirectoryInfo} per i file in un file zip.

static void gzipFile(File file, File gzipFile)

Metodo helper per creare una versione compressa con Gzip di un singolo file.

static boolean isZipFileValid(File zipFile, boolean thorough)

Metodo di utilità per verificare che un file ZIP non sia danneggiato.

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

Estrai un singolo file richiesto da un file ZIP parziale.

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

Estrai la cartella richiesta da un file ZIP parziale e applica l'autorizzazione corretta.

Metodi protetti

static void validateDestinationDir(File destDir, String filename)

Costruttori pubblici

ZipUtil

public ZipUtil ()

Metodi pubblici

addToZip

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

Aggiunge in modo ricorsivo il file specificato e i relativi contenuti a ZipOutputStream

Parametri
out ZipOutputStream: il ZipOutputStream

file File: il File da aggiungere allo stream

relativePathSegs List: il percorso relativo del file, inclusi i separatori

Genera
IOException se l'aggiunta del file al file ZIP non è riuscita

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

Applica l'autorizzazione file configurata nella voce della directory centrale.

Parametri
targetFile File: il File a cui impostare l'autorizzazione.

zipEntry CentralDirectoryInfo: un oggetto CentralDirectoryInfo che contiene le autorizzazioni del file.

Genera
IOException se non riesci ad accedere al file.

closeZip

public static void closeZip (ZipFile zipFile)

Chiudi un ZipFile aperto, ignorando eventuali eccezioni.

Parametri
zipFile ZipFile: il file da chiudere

createZip

public static File createZip (File dir, 
                String name)

Metodo di utilità per creare un file ZIP temporaneo contenente la directory specificata e tutti i relativi contenuti.

Parametri
dir File: la directory da comprimere

name String: il nome di base del file ZIP creato senza l'estensione.

Resi
File un file zip temporaneo File contenente i contenuti della directory

Genera
IOException se la creazione del file ZIP non è riuscita

createZip

public static File createZip (File dir)

Metodo di utilità per creare un file ZIP temporaneo contenente la directory specificata e tutti i relativi contenuti.

Parametri
dir File: la directory da comprimere

Resi
File un file zip temporaneo File contenente i contenuti della directory

Genera
IOException se la creazione del file ZIP non è riuscita

createZip

public static File createZip (List<File> files)

Metodo di utilità per creare un file zip temporaneo contenente i file specificati

Parametri
files List: elenco dei file da comprimere

Resi
File un file zip temporaneo File contenente i contenuti della directory

Genera
IOException se la creazione del file ZIP non è riuscita

createZip

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

Metodo di utilità per creare un file zip temporaneo contenente i file specificati.

Parametri
files List: elenco dei file da comprimere

name String: il nome di base del file ZIP creato senza l'estensione.

Resi
File un file zip temporaneo File contenente i contenuti della directory

Genera
IOException se la creazione del file ZIP non è riuscita

createZip

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

Metodo di utilità per creare un file zip contenente i file specificati

Parametri
files List: elenco dei file da comprimere

zipFile File: il file ZIP da creare, che non deve esistere già

Genera
IOException se la creazione del file ZIP non è riuscita

createZip

public static void createZip (File dir, 
                File zipFile)

Metodo di utilità per creare un file zip contenente la directory specificata e tutti i relativi contenuti.

Parametri
dir File: la directory da comprimere

zipFile File: il file ZIP da creare, che non deve esistere già

Genera
IOException se la creazione del file ZIP non è riuscita

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

Metodo di utilità per estrarre un file specifico dal file zip in un file temporaneo

Parametri
zipFile ZipFile: il ZipFile da estrarre

filePath String: il percorso del file da estrarre

Resi
File File o null se non trovato

Genera
IOException se l'estrazione del file non è riuscita

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Metodo di utilità per estrarre l'intero contenuto del file zip in una determinata directory

Parametri
zipFile ZipFile: il ZipFile da estrarre

destDir File: la directory locale in cui estrarre il file

Genera
IOException se l'estrazione del file non è riuscita

extractZip

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

Metodo di utilità per estrarre i contenuti del file ZIP nella directory specificata

Parametri
zipFile ZipFile: il ZipFile da estrarre

destDir File: la directory locale in cui estrarre il file

shouldExtract Predicate: il predicato per determinare se un ZipEntry deve essere estratto

Genera
IOException se l'estrazione del file non è riuscita

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

Estrai un file ZIP in una directory temporanea preceduta da una stringa

Parametri
zipFile File: il file ZIP da estrarre

nameHint String: un prefisso per la directory temporanea

Resi
File un File che punta alla directory temporanea

Genera
IOException
ZipException

getZipCentralDirectoryInfos

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

Ottieni un elenco di {link CentralDirectoryInfo} per i file in un file zip.

Parametri
partialZipFile File: un oggetto File del file ZIP parziale che contiene le voci della directory centrale.

endCentralDirInfo EndCentralDirectoryInfo: un oggetto EndCentralDirectoryInfo del file zip.

offset long: l'offset nel file zip parziale in cui inizia il contenuto delle voci della directory centrale.

useZip64 boolean: un valore booleano per supportare il formato zip64 nel download parziale.

Resi
List<CentralDirectoryInfo> Un elenco di CentralDirectoryInfo del file zip

Genera
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Ottieni un elenco di {link CentralDirectoryInfo} per i file in un file zip.

Parametri
partialZipFile File: un oggetto File del file ZIP parziale che contiene le voci della directory centrale.

endCentralDirInfo EndCentralDirectoryInfo: un oggetto EndCentralDirectoryInfo del file zip.

Resi
List<CentralDirectoryInfo> Un elenco di CentralDirectoryInfo del file zip

Genera
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Ottieni un elenco di {link CentralDirectoryInfo} per i file in un file zip.

Parametri
partialZipFile File: un oggetto File del file ZIP parziale che contiene le voci della directory centrale.

endCentralDirInfo EndCentralDirectoryInfo: un oggetto EndCentralDirectoryInfo del file zip.

useZip64 boolean: un valore booleano per supportare il formato zip64 nel download parziale.

Resi
List<CentralDirectoryInfo> Un elenco di CentralDirectoryInfo del file zip

Genera
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Ottieni un elenco di {link CentralDirectoryInfo} per i file in un file zip.

Parametri
partialZipFile File: un oggetto File del file ZIP parziale che contiene le voci della directory centrale.

endCentralDirInfo EndCentralDirectoryInfo: un oggetto EndCentralDirectoryInfo del file zip.

offset long: l'offset nel file zip parziale in cui inizia il contenuto delle voci della directory centrale.

Resi
List<CentralDirectoryInfo> Un elenco di CentralDirectoryInfo del file zip

Genera
java.io.IOException
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

Metodo helper per creare una versione compressa con Gzip di un singolo file.

Parametri
file File: il file originale

gzipFile File: il file in cui inserire i contenuti compressi

Genera
java.io.IOException
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

Metodo di utilità per verificare che un file ZIP non sia danneggiato.

Parametri
zipFile File: il File da controllare

thorough boolean: indica se tentare di estrarre completamente l'archivio. Se false, questo metodo non rileverà errori CRC in un archivio ben formato.

Resi
boolean false se il file sembra danneggiato; true altrimenti

Genera
IOException se il file non è stato aperto o letto

unzipPartialZipFile

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

Estrai un singolo file richiesto da un file ZIP parziale.

Questo metodo presuppone che tutti i file si trovino sullo stesso disco quando vengono compressi.

Se ERROR(/targetFile) è una directory, verrà creata una directory vuota senza i relativi contenuti.

Se ERROR(/targetFile) è un link simbolico, verrà creato un link simbolico, ma non verrà risolto.

Non supporta ancora le seguenti funzionalità:

File ZIP più grande di 4 GB

ZIP64(richiede l'aggiornamento di ZipLocalFileHeader sulla dimensione compressa)

File ZIP criptato

Parametri
partialZip File: un File che è una parte del file ZIP.

targetFile File: il File in cui salvare il file estratto.

zipEntry CentralDirectoryInfo: un oggetto CentralDirectoryInfo del file da estrarre dal file zip parziale.

localFileHeader LocalFileHeader: un oggetto LocalFileHeader del file da estrarre dal file zip parziale.

startOffset long: offset iniziale del file da estrarre.

Genera
java.io.IOException
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

Estrai la cartella richiesta da un file ZIP parziale e applica l'autorizzazione corretta.

Parametri
targetFile File: il File in cui salvare il file estratto.

zipEntry CentralDirectoryInfo: un oggetto CentralDirectoryInfo del file da estrarre dal file zip parziale.

Genera
java.io.IOException
IOException

Metodi protetti

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Parametri
destDir File

filename String

Genera
IOException