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, relativePathSegs)

Fügt die angegebene Datei und ihren Inhalt rekursiv dem ZipOutputStream hinzu

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

Wenden Sie die im Zentralverzeichniseintrag konfigurierte Dateiberechtigung an.

static void closeZip(ZipFile zipFile)

Schließen Sie eine geöffnete ERROR(/ZipFile), ohne Ausnahmen zu berücksichtigen.

static File createZip(File dir)

Dienstprogrammmethode zum Erstellen einer temporären ZIP-Datei mit dem angegebenen Verzeichnis und dem gesamten Inhalt.

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 mit dem angegebenen Verzeichnis und dem gesamten Inhalt.

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 mit dem angegebenen Verzeichnis und dem gesamten Inhalt.

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 temporäre Datei

static void extractZip(ZipFile zipFile, File destDir)

Dienstprogrammmethode zum Extrahieren des gesamten Inhalts einer ZIP-Datei in ein angegebenes Verzeichnis

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

Dienstprogrammmethode 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 mit einem String vorangestellt extrahieren

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

Liste der {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen

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

Liste der {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

Liste der {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen

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

Liste der {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen

static void gzipFile(File file, File gzipFile)

Hilfsmethode zum Erstellen einer komprimierten Version einer einzelnen Datei.

static boolean isZipFileValid(File zipFile, boolean thorough)

Dienstprogrammmethode, um zu prüfen, ob eine ZIP-Datei nicht beschädigt ist.

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

Eine einzelne angeforderte Datei aus einer teilweisen ZIP-Datei extrahieren

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

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

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, 
                 relativePathSegs)

Fügt die angegebene Datei und ihren Inhalt rekursiv dem ZipOutputStream hinzu

Parameter
out ZipOutputStream: die ERROR(/ZipOutputStream)

file File: ERROR(/File), das dem Stream hinzugefügt werden soll

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

Ausgabe
if failed to add file to zip

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

Wenden Sie die im Zentralverzeichniseintrag konfigurierte Dateiberechtigung an.

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

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

Ausgabe
wenn der Zugriff auf die Datei fehlschlägt.

closeZip

public static void closeZip (ZipFile zipFile)

Schließen Sie eine geöffnete ERROR(/ZipFile), ohne Ausnahmen zu berücksichtigen.

Parameter
zipFile ZipFile: die Datei, die geschlossen werden soll

createZip

public static File createZip (File dir)

Dienstprogrammmethode zum Erstellen einer temporären ZIP-Datei mit dem angegebenen Verzeichnis und dem gesamten Inhalt.

Parameter
dir File: das Verzeichnis, das gezippt werden soll

Returns
File ein temporäres ZIP-ERROR(/File) mit Verzeichnisinhalten

Ausgabe
if failed to create zip file

createZip

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 erstellten ZIP-Datei ohne Erweiterung.

Returns
File ein temporäres ZIP-ERROR(/File) mit Verzeichnisinhalten

Ausgabe
if failed to create zip file

createZip

public static File createZip (File dir, 
                String name)

Dienstprogrammmethode zum Erstellen einer temporären ZIP-Datei mit dem angegebenen Verzeichnis und dem gesamten Inhalt.

Parameter
dir File: das Verzeichnis, das gezippt werden soll

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

Returns
File ein temporäres ZIP-ERROR(/File) mit Verzeichnisinhalten

Ausgabe
if failed to create zip file

createZip

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 ein temporäres ZIP-ERROR(/File) mit Verzeichnisinhalten

Ausgabe
if failed to create zip file

createZip

public static void createZip (File dir, 
                File zipFile)

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

Parameter
dir File: das Verzeichnis, das gezippt werden soll

zipFile File: die zu erstellende ZIP-Datei, die noch nicht vorhanden sein darf

Ausgabe
if failed to create zip file

createZip

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, die noch nicht vorhanden sein darf

Ausgabe
if failed to create zip file

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

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

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

filePath String: Pfad zur zu extrahierenden Datei

Returns
File die ERROR(/File) oder „null“, falls nicht gefunden

Ausgabe
if failed to extract file

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Dienstprogrammmethode zum Extrahieren des gesamten Inhalts einer ZIP-Datei in ein angegebenes Verzeichnis

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

destDir File: der lokale Ordner, in den die Datei extrahiert werden soll

Ausgabe
if failed to extract file

extractZip

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

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

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

destDir File: der lokale Ordner, in den die Datei extrahiert werden soll

shouldExtract : das Prädikat, mit dem ermittelt wird, ob ein ZipEntry extrahiert werden soll

Ausgabe
if failed to extract file

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

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

Parameter
zipFile File: die zu extrahierende ZIP-Datei

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

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

getZipCentralDirectoryInfos

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

Liste der {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen

Parameter
partialZipFile File: Ein ERROR(/File)-Objekt der teilweisen ZIP-Datei, das zentrale Verzeichniseinträge enthält.

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

useZip64 boolean: ein boolescher Wert, um das Zip64-Format beim Teildownload zu unterstützen.

Returns
Eine Liste der CentralDirectoryInfo der ZIP-Datei

Ausgabe
IOException

getZipCentralDirectoryInfos

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

Liste der {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen

Parameter
partialZipFile File: Ein ERROR(/File)-Objekt der teilweisen ZIP-Datei, das zentrale Verzeichniseinträge enthält.

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

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

Returns
Eine Liste der CentralDirectoryInfo der ZIP-Datei

Ausgabe
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

Liste der {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen

Parameter
partialZipFile File: Ein ERROR(/File)-Objekt der teilweisen ZIP-Datei, das zentrale Verzeichniseinträge enthält.

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

Returns
Eine Liste der CentralDirectoryInfo der ZIP-Datei

Ausgabe
IOException

getZipCentralDirectoryInfos

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

Liste der {link CentralDirectoryInfo} für Dateien in einer ZIP-Datei abrufen

Parameter
partialZipFile File: Ein ERROR(/File)-Objekt der teilweisen ZIP-Datei, das zentrale Verzeichniseinträge enthält.

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

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

useZip64 boolean: ein boolescher Wert, um das Zip64-Format beim Teildownload zu unterstützen.

Returns
Eine Liste der CentralDirectoryInfo der ZIP-Datei

Ausgabe
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

Hilfsmethode zum Erstellen einer komprimierten Version einer einzelnen Datei.

Parameter
file File: die Originaldatei

gzipFile File: Datei, in der der komprimierte Inhalt gespeichert werden soll

Ausgabe
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

Dienstprogrammmethode, um zu prüfen, ob eine ZIP-Datei nicht 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, 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
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 teilweisen 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.

Folgende Funktionen werden noch nicht unterstützt:

ZIP-Datei größer als 4 GB

ZIP64(aktualisiert den ZipLocalFileHeader bei komprimierter Größe)

Verschlüsselte ZIP-Datei

Parameter
partialZip File: eine ERROR(/File), die einen Teil der ZIP-Datei enthält.

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

zipEntry CentralDirectoryInfo: ein CentralDirectoryInfo-Objekt der Datei, die aus der teilweisen ZIP-Datei extrahiert werden soll.

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

startOffset long: Startoffset der zu extrahierenden Datei.

Ausgabe
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

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

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

zipEntry CentralDirectoryInfo: ein CentralDirectoryInfo-Objekt der Datei, die aus der teilweisen ZIP-Datei extrahiert werden soll.

Ausgabe
IOException

Geschützte Methoden

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Parameter
destDir File

filename String