ZipUtil
public
class
ZipUtil
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.util.ZipUtil
|
Una classe helper per le operazioni correlate alla compressione
Riepilogo
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.
|
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 |
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 |
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 |
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 |
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. |
| 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. |
| 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. |
| 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. |
| 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 |