ZipUtil
public
class
ZipUtil
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.util.ZipUtil
|
Klasa pomocnicza do operacji związanych z kompresją
Podsumowanie
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.
|
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; |
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. |
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. |
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. |
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. |
| 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. |
| 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. |
| 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. |
| 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 |