ZipUtil

public class ZipUtil
extends Object

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


Eine Hilfsklasse für Komprimierungsvorgänge

Zusammenfassung

Öffentliche Konstruktoren

ZipUtil()

Öffentliche Methoden

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

Fügt die angegebene Datei und ihre Inhalte 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ßen Sie ein offenes ERROR(/ZipFile) und ignorieren Sie Ausnahmen.

static File createZip(File dir)

Dienstprogrammmethode zum Erstellen einer temporären ZIP-Datei, die das angegebene Verzeichnis und seinen gesamten Inhalt enthält.

static File createZip( files, String name)

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

static File createZip(File dir, String name)

Dienstprogrammmethode zum Erstellen einer temporären ZIP-Datei, die das angegebene Verzeichnis und seinen gesamten Inhalt enthält.

static File createZip( files)

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

static void createZip(File dir, File zipFile)

Dienstprogrammmethode zum Erstellen einer ZIP-Datei, die das angegebene Verzeichnis und seinen gesamten Inhalt enthält.

static void createZip( files, File zipFile)

Dienstprogrammmethode zum Erstellen einer ZIP-Datei mit den angegebenen Dateien

static File extractFileFromZip(ZipFile zipFile, String filePath)

Dienstprogrammmethode zum Extrahieren einer bestimmten Datei aus einer ZIP-Datei in eine TMP-Datei

static void extractZip(ZipFile zipFile, File destDir)

Dienstprogrammmethode zum Extrahieren des gesamten Inhalts der ZIP-Datei in das angegebene Verzeichnis

static void extractZip(ZipFile zipFile, File destDir, shouldExtract)

Dienstprogrammmethode zum Extrahieren des Inhalts der ZIP-Datei in das angegebene Verzeichnis

static File extractZipToTemp(File zipFile, String nameHint)

ZIP-Datei in ein temporäres Verzeichnis mit vorangestelltem String extrahieren

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)

Eine Liste mit {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen.

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)

Eine Liste mit {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen.

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

Eine Liste mit {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen.

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)

Eine Liste mit {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen.

static void gzipFile(File file, File gzipFile)

Hilfsmethode zum Erstellen einer mit gzip komprimierten Version einer einzelnen Datei.

static boolean isZipFileValid(File zipFile, boolean thorough)

Dienstprogrammmethode, mit dem geprüft wird, ob eine ZIP-Datei beschädigt ist.

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

Extrahieren Sie eine einzelne angeforderte Datei aus einer teilweisen ZIP-Datei.

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

Extrahieren Sie den angeforderten Ordner aus einer unvollständigen ZIP-Datei und weisen Sie die entsprechenden Berechtigungen zu.

Geschützte Methoden

static void validateDestinationDir(File destDir, String filename)

Öffentliche Konstruktoren

ZipUtil

public ZipUtil ()

Öffentliche Methoden

ZuZip hinzufügen

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

Fügt die angegebene Datei und ihre Inhalte rekursiv zu ZipOutputStream hinzu

Parameter
out ZipOutputStream: die ERROR(/ZipOutputStream)

file File: die ERROR(/File), die dem Stream hinzugefügt werden sollen

relativePathSegs : der relative Pfad der Datei, einschließlich Trennzeichen

Ausgabe
Datei konnte der ZIP-Datei nicht hinzugefügt werden

applyBerechtigung

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

Wenden Sie die im zentralen Verzeichniseintrag konfigurierte Dateiberechtigung an.

Parameter
targetFile File: ERROR(/File), für das die Berechtigung festgelegt werden soll.

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

Ausgabe
wenn auf die Datei nicht zugegriffen werden kann.

Zip-Code schließen

public static void closeZip (ZipFile zipFile)

Schließen Sie ein offenes ERROR(/ZipFile) und ignorieren Sie Ausnahmen.

Parameter
zipFile ZipFile: die zu schließende Datei

Zip-Datei erstellen

public static File createZip (File dir)

Dienstprogrammmethode zum Erstellen einer temporären ZIP-Datei, die das angegebene Verzeichnis und seinen gesamten Inhalt enthält.

Parameter
dir File: das Verzeichnis, das gezippt werden soll

Returns
File eine temporäre ZIP-Datei ERROR(/File) mit Verzeichnisinhalten

Ausgabe
Fehler beim Erstellen der ZIP-Datei

Zip-Datei erstellen

public static File createZip ( files, 
                String name)

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

Parameter
files : Liste der zu komprimierenden Dateien

name String: der Basisname der ZIP-Datei, die ohne die Erweiterung erstellt wurde.

Returns
File eine temporäre ZIP-Datei ERROR(/File) mit Verzeichnisinhalten

Ausgabe
Fehler beim Erstellen der ZIP-Datei

Zip-Datei erstellen

public static File createZip (File dir, 
                String name)

Dienstprogrammmethode zum Erstellen einer temporären ZIP-Datei, die das angegebene Verzeichnis und seinen gesamten Inhalt enthält.

Parameter
dir File: das Verzeichnis, das gezippt werden soll

name String: der Basisname der ZIP-Datei, die ohne die Erweiterung erstellt wurde.

Returns
File eine temporäre ZIP-Datei ERROR(/File) mit Verzeichnisinhalten

Ausgabe
Fehler beim Erstellen der ZIP-Datei

Zip-Datei erstellen

public static File createZip ( files)

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

Parameter
files : Liste der zu komprimierenden Dateien

Returns
File eine temporäre ZIP-Datei ERROR(/File) mit Verzeichnisinhalten

Ausgabe
Fehler beim Erstellen der ZIP-Datei

Zip-Datei erstellen

public static void createZip (File dir, 
                File zipFile)

Dienstprogrammmethode zum Erstellen einer ZIP-Datei, die das angegebene Verzeichnis und seinen gesamten Inhalt enthält.

Parameter
dir File: das Verzeichnis, das gezippt werden soll

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

Ausgabe
Fehler beim Erstellen der ZIP-Datei

Zip-Datei erstellen

public static void createZip ( files, 
                File zipFile)

Dienstprogrammmethode zum Erstellen einer ZIP-Datei mit den angegebenen Dateien

Parameter
files : Liste der zu komprimierenden Dateien

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

Ausgabe
Fehler beim Erstellen der ZIP-Datei

extrahFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

Dienstprogrammmethode zum Extrahieren einer bestimmten Datei aus einer ZIP-Datei in eine TMP-Datei

Parameter
zipFile ZipFile: die zu extrahierende ERROR(/ZipFile)

filePath String: der zu extrahierende Dateipfad

Returns
File ERROR(/File) oder null, wenn nicht gefunden

Ausgabe
Datei konnte nicht extrahiert werden

AuszugZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Dienstprogrammmethode zum Extrahieren des gesamten Inhalts der ZIP-Datei in das angegebene Verzeichnis

Parameter
zipFile ZipFile: die zu extrahierende ERROR(/ZipFile)

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

Ausgabe
Datei konnte nicht extrahiert werden

AuszugZip

public static void extractZip (ZipFile zipFile, 
                File destDir, 
                 shouldExtract)

Dienstprogrammmethode zum Extrahieren des Inhalts der ZIP-Datei in das angegebene Verzeichnis

Parameter
zipFile ZipFile: die zu extrahierende ERROR(/ZipFile)

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

shouldExtract : das Prädikat, das abgeleitet werden soll, wenn ein ZipEntry extrahiert werden soll

Ausgabe
Datei konnte nicht extrahiert werden

AuszugZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

ZIP-Datei in ein temporäres Verzeichnis mit vorangestelltem String extrahieren

Parameter
zipFile File: die zu extrahierende ZIP-Datei

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

Returns
File ERROR(/File), das auf das temporäre Verzeichnis verweist

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                boolean useZip64)

Eine Liste mit {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen.

Parameter
partialZipFile File: Ein ERROR(/File)-Objekt der Teil-ZIP-Datei, die Einträge im zentralen Verzeichnis enthält.

endCentralDirInfo EndCentralDirectoryInfo: ein EndCentralDirectoryInfo-Objekt der ZIP-Datei

useZip64 boolean: ein boolescher Wert zur Unterstützung des Zip64-Formats bei Teildownloads

Returns
Eine Liste von CentralDirectoryInfo der ZIP-Datei

Ausgabe
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset)

Eine Liste mit {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen.

Parameter
partialZipFile File: Ein ERROR(/File)-Objekt der Teil-ZIP-Datei, die Einträge im zentralen Verzeichnis enthält.

endCentralDirInfo EndCentralDirectoryInfo: ein EndCentralDirectoryInfo-Objekt der ZIP-Datei

offset long: der Versatz in der Teil-ZIP-Datei, in der der Inhalt der Einträge im zentralen Verzeichnis beginnt.

Returns
Eine Liste von CentralDirectoryInfo der ZIP-Datei

Ausgabe
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

Eine Liste mit {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen.

Parameter
partialZipFile File: Ein ERROR(/File)-Objekt der Teil-ZIP-Datei, die Einträge im zentralen Verzeichnis enthält.

endCentralDirInfo EndCentralDirectoryInfo: ein EndCentralDirectoryInfo-Objekt der ZIP-Datei

Returns
Eine Liste von CentralDirectoryInfo der ZIP-Datei

Ausgabe
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset, 
                boolean useZip64)

Eine Liste mit {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen.

Parameter
partialZipFile File: Ein ERROR(/File)-Objekt der Teil-ZIP-Datei, die Einträge im zentralen Verzeichnis enthält.

endCentralDirInfo EndCentralDirectoryInfo: ein EndCentralDirectoryInfo-Objekt der ZIP-Datei

offset long: der Versatz in der Teil-ZIP-Datei, in der der Inhalt der Einträge im zentralen Verzeichnis beginnt.

useZip64 boolean: ein boolescher Wert zur Unterstützung des Zip64-Formats bei Teildownloads

Returns
Eine Liste von CentralDirectoryInfo der ZIP-Datei

Ausgabe
IOException

gzip-Datei

public static void gzipFile (File file, 
                File gzipFile)

Hilfsmethode zum Erstellen einer mit gzip komprimierten Version einer einzelnen Datei.

Parameter
file File: Originaldatei

gzipFile File: Datei, in der komprimierte Inhalte abgelegt werden sollen

Ausgabe
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

Dienstprogrammmethode, mit dem geprüft wird, ob eine ZIP-Datei beschädigt ist.

Parameter
zipFile File: die zu prüfende ERROR(/File)

thorough boolean: Gibt an, ob versucht werden soll, das Archiv vollständig zu extrahieren. Wenn false festgelegt ist, werden mit dieser Methode keine CRC-Fehler in einem korrekt formatierten Archiv erkannt.

Returns
boolean false, wenn die Datei beschädigt zu sein scheint; andernfalls true

Ausgabe
Die Datei konnte nicht geöffnet oder gelesen werden.

unzipPartialZipFile

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

Extrahieren Sie eine einzelne angeforderte Datei aus einer teilweisen ZIP-Datei.

Bei dieser Methode wird davon ausgegangen, dass sich alle komprimierten Dateien 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.

Folgende Funktionen werden noch nicht unterstützt:

ZIP-Datei ist größer als 4 GB

ZIP64(Aktualisierung von ZipLocalFileHeader bei komprimierter Größe erforderlich)

Verschlüsselte ZIP-Datei

Parameter
partialZip File: Eine ERROR(/File), die ein Teil der ZIP-Datei ist.

targetFile File: ERROR(/File), in dem die extrahierte Datei gespeichert werden soll.

zipEntry CentralDirectoryInfo: Ein CentralDirectoryInfo-Objekt der Datei, das aus der unvollständigen ZIP-Datei extrahiert werden soll.

localFileHeader LocalFileHeader: Ein LocalFileHeader-Objekt der Datei, das aus der unvollständigen ZIP-Datei extrahiert werden soll.

startOffset long: Startversatz der zu extrahierenden Datei.

Ausgabe
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

Extrahieren Sie den angeforderten Ordner aus einer unvollständigen ZIP-Datei und weisen Sie die entsprechenden Berechtigungen zu.

Parameter
targetFile File: ERROR(/File), in dem die extrahierte Datei gespeichert werden soll.

zipEntry CentralDirectoryInfo: Ein CentralDirectoryInfo-Objekt der Datei, das aus der unvollständigen ZIP-Datei extrahiert werden soll.

Ausgabe
IOException

Geschützte Methoden

validDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Parameter
destDir File

filename String