ZipUtil

public class ZipUtil
extends Object

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


Klasa pomocnicza do operacji związanych z kompresją

Podsumowanie

Konstruktory publiczne

ZipUtil()

Metody publiczne

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

Rekursywnie dodaje podany plik i jego zawartość do ZipOutputStream.

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

Zastosuj uprawnienia do pliku skonfigurowane we wpisie w katalogu centralnym.

static void closeZip(ZipFile zipFile)

Zamknij otwarty element ZipFile, ignorując wszelkie wyjątki.

static File createZip(File dir, String name)

Metoda narzędziowa do tworzenia tymczasowego pliku ZIP zawierającego podany katalog i wszystkie jego elementy.

static File createZip(File dir)

Metoda narzędziowa do tworzenia tymczasowego pliku ZIP zawierającego podany katalog i wszystkie jego elementy.

static File createZip(List<File> files)

Metoda narzędziowa do tworzenia tymczasowego pliku ZIP zawierającego podane pliki

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

Metoda narzędziowa do tworzenia tymczasowego pliku ZIP zawierającego podane pliki.

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

Metoda narzędziowa do tworzenia pliku ZIP zawierającego podane pliki

static void createZip(File dir, File zipFile)

Metoda narzędziowa do tworzenia pliku ZIP zawierającego podany katalog i wszystkie jego elementy.

static File extractFileFromZip(ZipFile zipFile, String filePath)

Metoda narzędziowa do wyodrębniania jednego konkretnego pliku z pliku ZIP do pliku tymczasowego

static void extractZip(ZipFile zipFile, File destDir)

Metoda narzędziowa do wyodrębniania całej zawartości pliku ZIP do podanego katalogu

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

Metoda narzędziowa do wyodrębniania zawartości pliku ZIP do podanego katalogu

static File extractZipToTemp(File zipFile, String nameHint)

Wyodrębnianie pliku ZIP do katalogu tymczasowego z dodatkiem w postaci ciągu znaków

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

Pobierz listę {link CentralDirectoryInfo} plików w pliku ZIP.

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

Pobierz listę {link CentralDirectoryInfo} plików w pliku ZIP.

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

Pobierz listę {link CentralDirectoryInfo} plików w pliku ZIP.

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

Pobierz listę {link CentralDirectoryInfo} plików w pliku ZIP.

static void gzipFile(File file, File gzipFile)

Metoda pomocnicza do tworzenia skompresowanej wersji pojedynczego pliku.

static boolean isZipFileValid(File zipFile, boolean thorough)

Metoda narzędziowa do sprawdzania, czy plik ZIP nie jest uszkodzony.

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

Wyodrębnianie pojedynczego żądanego pliku z częściowego pliku ZIP.

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

Wyodrębnij żądany folder z częściowego pliku ZIP i zastosuj odpowiednie uprawnienia.

Metody chronione

static void validateDestinationDir(File destDir, String filename)

Konstruktory publiczne

ZipUtil

public ZipUtil ()

Metody publiczne

addToZip

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

Rekursywnie dodaje podany plik i jego zawartość do ZipOutputStream.

Parametry
out ZipOutputStream: ZipOutputStream

file File: File do dodania do strumienia

relativePathSegs List: ścieżka względna pliku, w tym separatory

Zgłasza
IOException jeśli nie udało się dodać pliku do pliku zip

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

Zastosuj uprawnienia do pliku skonfigurowane we wpisie w katalogu centralnym.

Parametry
targetFile File: File, dla którego mają zostać ustawione uprawnienia.

zipEntry CentralDirectoryInfo: obiekt CentralDirectoryInfo, który zawiera uprawnienia do pliku.

Zgłasza
IOException jeśli nie uda się uzyskać dostępu do pliku.

closeZip

public static void closeZip (ZipFile zipFile)

Zamknij otwarty element ZipFile, ignorując wszelkie wyjątki.

Parametry
zipFile ZipFile: plik do zamknięcia;

createZip

public static File createZip (File dir, 
                String name)

Metoda narzędziowa do tworzenia tymczasowego pliku ZIP zawierającego podany katalog i wszystkie jego elementy.

Parametry
dir File: katalog do spakowania

name String: nazwa podstawowa utworzonego pliku ZIP bez rozszerzenia.

Zwraca
File tymczasowy plik ZIP File zawierający zawartość katalogu.

Zgłasza
IOException jeśli nie udało się utworzyć pliku zip;

createZip

public static File createZip (File dir)

Metoda narzędziowa do tworzenia tymczasowego pliku ZIP zawierającego podany katalog i wszystkie jego elementy.

Parametry
dir File: katalog do spakowania

Zwraca
File tymczasowy plik ZIP File zawierający zawartość katalogu.

Zgłasza
IOException jeśli nie udało się utworzyć pliku zip;

createZip

public static File createZip (List<File> files)

Metoda narzędziowa do tworzenia tymczasowego pliku ZIP zawierającego podane pliki

Parametry
files List: lista plików do spakowania

Zwraca
File tymczasowy plik ZIP File zawierający zawartość katalogu.

Zgłasza
IOException jeśli nie udało się utworzyć pliku zip;

createZip

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

Metoda narzędziowa do tworzenia tymczasowego pliku ZIP zawierającego podane pliki.

Parametry
files List: lista plików do spakowania

name String: nazwa podstawowa utworzonego pliku ZIP bez rozszerzenia.

Zwraca
File tymczasowy plik ZIP File zawierający zawartość katalogu.

Zgłasza
IOException jeśli nie udało się utworzyć pliku zip;

createZip

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

Metoda narzędziowa do tworzenia pliku ZIP zawierającego podane pliki

Parametry
files List: lista plików do spakowania

zipFile File: plik ZIP do utworzenia – nie powinien jeszcze istnieć.

Zgłasza
IOException jeśli nie udało się utworzyć pliku zip;

createZip

public static void createZip (File dir, 
                File zipFile)

Metoda narzędziowa do tworzenia pliku ZIP zawierającego podany katalog i wszystkie jego elementy.

Parametry
dir File: katalog do spakowania

zipFile File: plik ZIP do utworzenia – nie powinien jeszcze istnieć.

Zgłasza
IOException jeśli nie udało się utworzyć pliku zip;

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

Metoda narzędziowa do wyodrębniania jednego konkretnego pliku z pliku ZIP do pliku tymczasowego

Parametry
zipFile ZipFile: ZipFile do wyodrębnienia

filePath String: ścieżka pliku do wyodrębnienia

Zwraca
File File lub wartość null, jeśli nie znaleziono

Zgłasza
IOException jeśli nie uda się wyodrębnić pliku.

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Metoda narzędziowa do wyodrębniania całej zawartości pliku ZIP do podanego katalogu

Parametry
zipFile ZipFile: ZipFile do wyodrębnienia

destDir File: lokalny katalog, do którego ma zostać wyodrębniony plik

Zgłasza
IOException jeśli nie uda się wyodrębnić pliku.

extractZip

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

Metoda narzędziowa do wyodrębniania zawartości pliku ZIP do podanego katalogu

Parametry
zipFile ZipFile: ZipFile do wyodrębnienia

destDir File: lokalny katalog, do którego ma zostać wyodrębniony plik

shouldExtract Predicate: predykat określający, czy należy wyodrębnić ZipEntry

Zgłasza
IOException jeśli nie uda się wyodrębnić pliku.

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

Wyodrębnianie pliku ZIP do katalogu tymczasowego z dodatkiem w postaci ciągu znaków

Parametry
zipFile File: plik ZIP do wyodrębnienia;

nameHint String: prefiks katalogu tymczasowego.

Zwraca
File File wskazujący katalog tymczasowy.

Zgłasza
IOException
ZipException

getZipCentralDirectoryInfos

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

Pobierz listę {link CentralDirectoryInfo} plików w pliku ZIP.

Parametry
partialZipFile File: obiekt File częściowego pliku ZIP, który zawiera wpisy katalogu centralnego.

endCentralDirInfo EndCentralDirectoryInfo: obiekt EndCentralDirectoryInfo pliku ZIP.

offset long: przesunięcie w częściowym pliku ZIP, od którego zaczyna się zawartość wpisów katalogu centralnego.

useZip64 boolean: wartość logiczna obsługująca format zip64 w przypadku częściowego pobierania.

Zwraca
List<CentralDirectoryInfo> Lista CentralDirectoryInfo pliku ZIP

Zgłasza
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Pobierz listę {link CentralDirectoryInfo} plików w pliku ZIP.

Parametry
partialZipFile File: obiekt File częściowego pliku ZIP, który zawiera wpisy katalogu centralnego.

endCentralDirInfo EndCentralDirectoryInfo: obiekt EndCentralDirectoryInfo pliku ZIP.

Zwraca
List<CentralDirectoryInfo> Lista CentralDirectoryInfo pliku ZIP

Zgłasza
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Pobierz listę {link CentralDirectoryInfo} plików w pliku ZIP.

Parametry
partialZipFile File: obiekt File częściowego pliku ZIP, który zawiera wpisy katalogu centralnego.

endCentralDirInfo EndCentralDirectoryInfo: obiekt EndCentralDirectoryInfo pliku ZIP.

useZip64 boolean: wartość logiczna obsługująca format zip64 w przypadku częściowego pobierania.

Zwraca
List<CentralDirectoryInfo> Lista CentralDirectoryInfo pliku ZIP

Zgłasza
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Pobierz listę {link CentralDirectoryInfo} plików w pliku ZIP.

Parametry
partialZipFile File: obiekt File częściowego pliku ZIP, który zawiera wpisy katalogu centralnego.

endCentralDirInfo EndCentralDirectoryInfo: obiekt EndCentralDirectoryInfo pliku ZIP.

offset long: przesunięcie w częściowym pliku ZIP, od którego zaczyna się zawartość wpisów katalogu centralnego.

Zwraca
List<CentralDirectoryInfo> Lista CentralDirectoryInfo pliku ZIP

Zgłasza
java.io.IOException
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

Metoda pomocnicza do tworzenia skompresowanej wersji pojedynczego pliku.

Parametry
file File: oryginalny plik;

gzipFile File: plik, w którym mają być umieszczone skompresowane treści

Zgłasza
java.io.IOException
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

Metoda narzędziowa do sprawdzania, czy plik ZIP nie jest uszkodzony.

Parametry
zipFile File: File do sprawdzenia

thorough boolean: czy podjąć próbę pełnego wyodrębnienia archiwum. Jeśli false, ta metoda nie wykryje błędów CRC w prawidłowo sformatowanym archiwum.

Zwraca
boolean false jeśli plik wygląda na uszkodzony; true w przeciwnym razie

Zgłasza
IOException jeśli nie udało się otworzyć lub odczytać pliku;

unzipPartialZipFile

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

Wyodrębnianie pojedynczego żądanego pliku z częściowego pliku ZIP.

Ta metoda zakłada, że wszystkie pliki są skompresowane na tym samym dysku.

Jeśli ERROR(/targetFile) jest katalogiem, zostanie utworzony pusty katalog bez jego zawartości.

Jeśli ERROR(/targetFile) jest symlinkiem, zostanie utworzony symlink, ale nie zostanie on rozwiązany.

Nie obsługuje jeszcze tych funkcji:

Plik ZIP większy niż 4 GB

ZIP64(wymaga aktualizacji ZipLocalFileHeader w przypadku skompresowanego rozmiaru)

Zaszyfrowany plik ZIP

Parametry
partialZip File: File, który jest częścią pliku ZIP.

targetFile File: File, w którym ma zostać zapisany wyodrębniony plik.

zipEntry CentralDirectoryInfo: obiekt CentralDirectoryInfo pliku do wyodrębnienia z częściowego pliku ZIP.

localFileHeader LocalFileHeader: obiekt LocalFileHeader pliku do wyodrębnienia z częściowego pliku ZIP.

startOffset long: początkowe przesunięcie pliku do wyodrębnienia.

Zgłasza
java.io.IOException
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

Wyodrębnij żądany folder z częściowego pliku ZIP i zastosuj odpowiednie uprawnienia.

Parametry
targetFile File: File, w którym ma zostać zapisany wyodrębniony plik.

zipEntry CentralDirectoryInfo: obiekt CentralDirectoryInfo pliku do wyodrębnienia z częściowego pliku ZIP.

Zgłasza
java.io.IOException
IOException

Metody chronione

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Parametry
destDir File

filename String

Zgłasza
IOException