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.
|
Ö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 |
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 |
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 |
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 |
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. |
| 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. |
| 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. |
| 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. |
| 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 |