ZipUtil

public class ZipUtil
extends Object

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


Eine Hilfsklasse für komprimierungsbezogene Vorgänge

Zusammenfassung

Öffentliche Konstruktoren

ZipUtil()

Öffentliche Methoden

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

Fügt die angegebene Datei und ihren Inhalt rekursiv zu „ZipOutputStream“ hinzu.

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

Wenden Sie die im zentralen Verzeichniseintrag konfigurierte Dateiberechtigung an.

static void closeZip(ZipFile zipFile)

Schließe ein offenes ZipFile und ignoriere alle Ausnahmen.

static File createZip(File dir, String name)

Hilfsmethode zum Erstellen einer temporären ZIP-Datei, die das angegebene Verzeichnis und alle zugehörigen Inhalte enthält.

static File createZip(File dir)

Hilfsmethode zum Erstellen einer temporären ZIP-Datei, die das angegebene Verzeichnis und alle zugehörigen Inhalte enthält.

static File createZip(List<File> files)

Hilfsmethode zum Erstellen einer temporären ZIP-Datei mit den angegebenen Dateien

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

Hilfsmethode zum Erstellen einer temporären ZIP-Datei mit den angegebenen Dateien.

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

Dienstprogramm-Methode zum Erstellen einer ZIP-Datei mit den angegebenen Dateien

static void createZip(File dir, File zipFile)

Hilfsmethode zum Erstellen einer ZIP-Datei mit dem angegebenen Verzeichnis und seinem gesamten Inhalt.

static File extractFileFromZip(ZipFile zipFile, String filePath)

Hilfsmethode zum Extrahieren einer bestimmten Datei aus einer ZIP-Datei in eine temporäre Datei

static void extractZip(ZipFile zipFile, File destDir)

Hilfsmethode zum Extrahieren des gesamten Inhalts einer ZIP-Datei in das angegebene Verzeichnis

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

Dienstprogramm-Methode zum Extrahieren des Inhalts einer ZIP-Datei in ein angegebenes Verzeichnis

static File extractZipToTemp(File zipFile, String nameHint)

ZIP-Datei in ein temporäres Verzeichnis extrahieren, dem ein String vorangestellt ist

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

Ruft eine Liste von {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei ab.

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

Ruft eine Liste von {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei ab.

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

Ruft eine Liste von {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei ab.

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

Ruft eine Liste von {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei ab.

static void gzipFile(File file, File gzipFile)

Hilfsmethode zum Erstellen einer gezippten Version einer einzelnen Datei.

static boolean isZipFileValid(File zipFile, boolean thorough)

Hilfsmethode zum Überprüfen, ob eine ZIP-Datei beschädigt ist.

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

Eine einzelne angeforderte Datei aus einer unvollständigen ZIP-Datei extrahieren

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

Extrahieren Sie den angeforderten Ordner aus einer teilweisen ZIP-Datei und weisen Sie die richtige Berechtigung zu.

Geschützte Methoden

static void validateDestinationDir(File destDir, String filename)

Öffentliche Konstruktoren

ZipUtil

public ZipUtil ()

Öffentliche Methoden

addToZip

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

Fügt die angegebene Datei und ihren Inhalt rekursiv zu „ZipOutputStream“ hinzu.

Parameter
out ZipOutputStream: Der ZipOutputStream

file File: Die File, die dem Stream hinzugefügt werden soll

relativePathSegs List: Der relative Pfad der Datei, einschließlich Trennzeichen.

Löst aus
IOException wenn die Datei nicht zur ZIP-Datei hinzugefügt werden konnte

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

Wenden Sie die im zentralen Verzeichniseintrag konfigurierte Dateiberechtigung an.

Parameter
targetFile File: Die File, für die die Berechtigung festgelegt werden soll.

zipEntry CentralDirectoryInfo: Ein CentralDirectoryInfo-Objekt, das die Dateiberechtigungen enthält.

Löst aus
IOException wenn der Zugriff auf die Datei fehlschlägt.

closeZip

public static void closeZip (ZipFile zipFile)

Schließe ein offenes ZipFile und ignoriere alle Ausnahmen.

Parameter
zipFile ZipFile: die zu schließende Datei

createZip

public static File createZip (File dir, 
                String name)

Hilfsmethode zum Erstellen einer temporären ZIP-Datei, die das angegebene Verzeichnis und alle zugehörigen Inhalte enthält.

Parameter
dir File: das zu zippende Verzeichnis

name String: Der Basisname der erstellten ZIP-Datei ohne die Erweiterung.

Gibt Folgendes zurück:
File ein temporäres ZIP-Archiv File mit Verzeichnisinhalten

Löst aus
IOException Wenn die ZIP-Datei nicht erstellt werden konnte

createZip

public static File createZip (File dir)

Hilfsmethode zum Erstellen einer temporären ZIP-Datei, die das angegebene Verzeichnis und alle zugehörigen Inhalte enthält.

Parameter
dir File: das zu zippende Verzeichnis

Gibt Folgendes zurück:
File ein temporäres ZIP-Archiv File mit Verzeichnisinhalten

Löst aus
IOException Wenn die ZIP-Datei nicht erstellt werden konnte

createZip

public static File createZip (List<File> files)

Hilfsmethode zum Erstellen einer temporären ZIP-Datei mit den angegebenen Dateien

Parameter
files List: Liste der zu komprimierenden Dateien

Gibt Folgendes zurück:
File ein temporäres ZIP-Archiv File mit Verzeichnisinhalten

Löst aus
IOException Wenn die ZIP-Datei nicht erstellt werden konnte

createZip

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

Hilfsmethode zum Erstellen einer temporären ZIP-Datei mit den angegebenen Dateien.

Parameter
files List: Liste der zu komprimierenden Dateien

name String: Der Basisname der erstellten ZIP-Datei ohne die Erweiterung.

Gibt Folgendes zurück:
File ein temporäres ZIP-Archiv File mit Verzeichnisinhalten

Löst aus
IOException Wenn die ZIP-Datei nicht erstellt werden konnte

createZip

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

Dienstprogramm-Methode zum Erstellen einer ZIP-Datei mit den angegebenen Dateien

Parameter
files List: Liste der zu komprimierenden Dateien

zipFile File: Die zu erstellende ZIP-Datei. Sie sollte noch nicht vorhanden sein.

Löst aus
IOException Wenn die ZIP-Datei nicht erstellt werden konnte

createZip

public static void createZip (File dir, 
                File zipFile)

Hilfsmethode zum Erstellen einer ZIP-Datei mit dem angegebenen Verzeichnis und seinem gesamten Inhalt.

Parameter
dir File: das zu zippende Verzeichnis

zipFile File: Die zu erstellende ZIP-Datei. Sie sollte noch nicht vorhanden sein.

Löst aus
IOException Wenn die ZIP-Datei nicht erstellt werden konnte

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

Hilfsmethode zum Extrahieren einer bestimmten Datei aus einer ZIP-Datei in eine temporäre Datei

Parameter
zipFile ZipFile: der zu extrahierende ZipFile

filePath String: Der Dateipfad, der extrahiert werden soll.

Gibt Folgendes zurück:
File File oder „null“, falls nicht gefunden

Löst aus
IOException wenn die Datei nicht extrahiert werden konnte

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Hilfsmethode zum Extrahieren des gesamten Inhalts einer ZIP-Datei in das angegebene Verzeichnis

Parameter
zipFile ZipFile: der zu extrahierende ZipFile

destDir File: das lokale Verzeichnis, in das die Datei extrahiert werden soll

Löst aus
IOException wenn die Datei nicht extrahiert werden konnte

extractZip

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

Dienstprogramm-Methode zum Extrahieren des Inhalts einer ZIP-Datei in ein angegebenes Verzeichnis

Parameter
zipFile ZipFile: der zu extrahierende ZipFile

destDir File: das lokale Verzeichnis, in das die Datei extrahiert werden soll

shouldExtract Predicate: Das Prädikat, um zu bestimmen, ob ein ZipEntry extrahiert werden soll.

Löst aus
IOException wenn die Datei nicht extrahiert werden konnte

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

ZIP-Datei in ein temporäres Verzeichnis extrahieren, dem ein String vorangestellt ist

Parameter
zipFile File: die zu extrahierende ZIP-Datei

nameHint String: ein Präfix für das temporäre Verzeichnis

Gibt Folgendes zurück:
File File, die auf das temporäre Verzeichnis verweist

Löst aus
IOException
ZipException

getZipCentralDirectoryInfos

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

Ruft eine Liste von {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei ab.

Parameter
partialZipFile File: Ein File-Objekt der partiellen ZIP-Datei, das zentrale Verzeichniseinträge enthält.

endCentralDirInfo EndCentralDirectoryInfo: ein EndCentralDirectoryInfo-Objekt der ZIP-Datei.

offset long: Der Offset in der partiellen ZIP-Datei, an dem der Inhalt der Einträge im zentralen Verzeichnis beginnt.

useZip64 boolean: Ein boolescher Wert zur Unterstützung des ZIP64-Formats beim teilweisen Download.

Gibt Folgendes zurück:
List<CentralDirectoryInfo> Eine Liste der CentralDirectoryInfo der ZIP-Datei

Löst aus
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Ruft eine Liste von {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei ab.

Parameter
partialZipFile File: Ein File-Objekt der partiellen ZIP-Datei, das zentrale Verzeichniseinträge enthält.

endCentralDirInfo EndCentralDirectoryInfo: ein EndCentralDirectoryInfo-Objekt der ZIP-Datei.

Gibt Folgendes zurück:
List<CentralDirectoryInfo> Eine Liste der CentralDirectoryInfo der ZIP-Datei

Löst aus
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Ruft eine Liste von {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei ab.

Parameter
partialZipFile File: Ein File-Objekt der partiellen ZIP-Datei, das zentrale Verzeichniseinträge enthält.

endCentralDirInfo EndCentralDirectoryInfo: ein EndCentralDirectoryInfo-Objekt der ZIP-Datei.

useZip64 boolean: Ein boolescher Wert zur Unterstützung des ZIP64-Formats beim teilweisen Download.

Gibt Folgendes zurück:
List<CentralDirectoryInfo> Eine Liste der CentralDirectoryInfo der ZIP-Datei

Löst aus
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Ruft eine Liste von {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei ab.

Parameter
partialZipFile File: Ein File-Objekt der partiellen ZIP-Datei, das zentrale Verzeichniseinträge enthält.

endCentralDirInfo EndCentralDirectoryInfo: ein EndCentralDirectoryInfo-Objekt der ZIP-Datei.

offset long: Der Offset in der partiellen ZIP-Datei, an dem der Inhalt der Einträge im zentralen Verzeichnis beginnt.

Gibt Folgendes zurück:
List<CentralDirectoryInfo> Eine Liste der CentralDirectoryInfo der ZIP-Datei

Löst aus
java.io.IOException
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

Hilfsmethode zum Erstellen einer gezippten Version einer einzelnen Datei.

Parameter
file File: die Originaldatei

gzipFile File: die Datei, in die komprimierte Inhalte eingefügt werden sollen

Löst aus
java.io.IOException
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

Hilfsmethode zum Überprüfen, ob eine ZIP-Datei beschädigt ist.

Parameter
zipFile File: Die zu prüfende File

thorough boolean: Gibt an, ob versucht werden soll, das Archiv vollständig zu extrahieren. Wenn false, kann diese Methode keine CRC-Fehler in einem wohlgeformten Archiv erkennen.

Gibt Folgendes zurück:
boolean false, wenn die Datei beschädigt zu sein scheint, andernfalls true

Löst aus
IOException wenn die Datei nicht geöffnet oder gelesen werden konnte

unzipPartialZipFile

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

Eine einzelne angeforderte Datei aus einer unvollständigen ZIP-Datei extrahieren

Bei dieser Methode wird davon ausgegangen, dass sich alle Dateien beim Komprimieren auf demselben Laufwerk befinden.

Wenn ERROR(/targetFile) ein Verzeichnis ist, wird ein leeres Verzeichnis ohne Inhalt erstellt.

Wenn ERROR(/targetFile) ein Symlink ist, wird ein Symlink erstellt, aber nicht aufgelöst.

Die folgenden Funktionen werden noch nicht unterstützt:

ZIP-Datei ist größer als 4 GB

ZIP64(ZipLocalFileHeader-Aktualisierung für komprimierte Größe erforderlich)

Verschlüsselte ZIP-Datei

Parameter
partialZip File: eine File, die ein Teil der ZIP-Datei ist.

targetFile File: der File, in dem die extrahierte Datei gespeichert werden soll.

zipEntry CentralDirectoryInfo: Ein CentralDirectoryInfo-Objekt der Datei, die aus der partiellen ZIP-Datei extrahiert werden soll.

localFileHeader LocalFileHeader: Ein LocalFileHeader-Objekt der Datei, die aus der teilweisen ZIP-Datei extrahiert werden soll.

startOffset long: Start-Offset der zu extrahierenden Datei.

Löst aus
java.io.IOException
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

Extrahieren Sie den angeforderten Ordner aus einer teilweisen ZIP-Datei und weisen Sie die richtige Berechtigung zu.

Parameter
targetFile File: der File, in dem die extrahierte Datei gespeichert werden soll.

zipEntry CentralDirectoryInfo: Ein CentralDirectoryInfo-Objekt der Datei, die aus der partiellen ZIP-Datei extrahiert werden soll.

Löst aus
java.io.IOException
IOException

Geschützte Methoden

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Parameter
destDir File

filename String

Löst aus
IOException