ZipUtil
public class ZipUtil
extends Object
| java.lang.Object |
| ↳ | com.android.tradefed.util.ZipUtil |
Вспомогательный класс для операций, связанных со сжатием.
Краткое содержание
Государственные строители |
|---|
ZipUtil () |
Общедоступные методы |
|---|
static void | addToZip (ZipOutputStream out, File file, List<String> relativePathSegs) Рекурсивно добавляет указанный файл и его содержимое в ZipOutputStream. |
static void | applyPermission (File targetFile, CentralDirectoryInfo zipEntry) Примените права доступа к файлу, настроенные в записи центрального каталога. |
static void | closeZip (ZipFile zipFile) Закройте открытый ZipFile , игнорируя любые исключения. |
static File | createZip (File dir, String name) Вспомогательный метод для создания временного ZIP-архива, содержащего указанную директорию и все её содержимое. |
static File | createZip (File dir) Вспомогательный метод для создания временного ZIP-архива, содержащего указанную директорию и все её содержимое. |
static File | createZip (List<File> files) Вспомогательный метод для создания временного ZIP-архива, содержащего указанные файлы. |
static File | createZip (List<File> files, String name) Вспомогательный метод для создания временного ZIP-архива, содержащего указанные файлы. |
static void | createZip (List<File> files, File zipFile) Вспомогательный метод для создания ZIP-архива, содержащего указанные файлы. |
static void | createZip (File dir, File zipFile) Вспомогательный метод для создания ZIP-архива, содержащего указанную директорию и все её содержимое. |
static File | extractFileFromZip (ZipFile zipFile, String filePath) Вспомогательный метод для извлечения одного конкретного файла из ZIP-архива во временный файл. |
static void | extractZip (ZipFile zipFile, File destDir) Вспомогательный метод для извлечения всего содержимого ZIP-файла в указанную директорию. |
static void | extractZip (ZipFile zipFile, File destDir, Predicate<ZipEntry> shouldExtract) Вспомогательный метод для извлечения содержимого ZIP-файла в указанную директорию. |
static File | extractZipToTemp (File zipFile, String nameHint) Распакуйте ZIP-файл во временную директорию, предварительно добавив в начало строку. |
static List< CentralDirectoryInfo > | getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64) Получите список {ссылка CentralDirectoryInfo} для файлов в zip-архиве. |
static List< CentralDirectoryInfo > | getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo) Получите список {ссылка CentralDirectoryInfo} для файлов в zip-архиве. |
static List< CentralDirectoryInfo > | getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64) Получите список {ссылка CentralDirectoryInfo} для файлов в zip-архиве. |
static List< CentralDirectoryInfo > | getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset) Получите список {ссылка CentralDirectoryInfo} для файлов в zip-архиве. |
static void | gzipFile (File file, File gzipFile) Вспомогательный метод для создания сжатой (gzip) версии одного файла. |
static boolean | isZipFileValid (File zipFile, boolean thorough) Вспомогательный метод для проверки целостности ZIP-файла. |
static void | unzipPartialZipFile (File partialZip, File targetFile, CentralDirectoryInfo zipEntry, LocalFileHeader localFileHeader, long startOffset) Извлечь один запрошенный файл из частично заполненного ZIP-архива. |
static void | unzipPartialZipFolder (File targetFile, CentralDirectoryInfo zipEntry) Извлеките запрошенную папку из частично распакованного ZIP-архива и примените соответствующие права доступа. |
Государственные строители
ZipUtil
public ZipUtil ()
Общедоступные методы
addToZip
public static void addToZip (ZipOutputStream out,
File file,
List<String> relativePathSegs) Рекурсивно добавляет указанный файл и его содержимое в ZipOutputStream.
| Параметры |
|---|
out | ZipOutputStream : объект ZipOutputStream |
file | File : File , который нужно добавить в поток. |
relativePathSegs | List : относительный путь к файлу, включая разделители. |
| Броски |
|---|
IOException | если не удалось добавить файл в zip-архив |
применить разрешение
public static void applyPermission (File targetFile,
CentralDirectoryInfo zipEntry) Примените права доступа к файлу, настроенные в записи центрального каталога.
| Параметры |
|---|
targetFile | File : File , для которого необходимо установить права доступа. |
zipEntry | CentralDirectoryInfo : объект CentralDirectoryInfo , содержащий права доступа к файлам. |
| Броски |
|---|
IOException | если не удается получить доступ к файлу. |
closeZip
public static void closeZip (ZipFile zipFile)
Закройте открытый ZipFile , игнорируя любые исключения.
| Параметры |
|---|
zipFile | ZipFile : файл для закрытия |
createZip
public static File createZip (File dir,
String name) Вспомогательный метод для создания временного ZIP-архива, содержащего указанную директорию и все её содержимое.
| Параметры |
|---|
dir | File : каталог для архивации в ZIP-архив. |
name | String : базовое имя ZIP-файла, созданного без расширения. |
| Возвраты |
|---|
File | временный ZIP- File , содержащий содержимое каталога |
| Броски |
|---|
IOException | если не удалось создать zip-файл |
createZip
public static File createZip (File dir)
Вспомогательный метод для создания временного ZIP-архива, содержащего указанную директорию и все её содержимое.
| Параметры |
|---|
dir | File : каталог для архивации в ZIP-архив. |
| Возвраты |
|---|
File | временный ZIP- File , содержащий содержимое каталога |
| Броски |
|---|
IOException | если не удалось создать zip-файл |
createZip
public static File createZip (List<File> files)
Вспомогательный метод для создания временного ZIP-архива, содержащего указанные файлы.
| Параметры |
|---|
files | List : список файлов для архивации в ZIP-архив. |
| Возвраты |
|---|
File | временный ZIP- File , содержащий содержимое каталога |
| Броски |
|---|
IOException | если не удалось создать zip-файл |
createZip
public static File createZip (List<File> files,
String name) Вспомогательный метод для создания временного ZIP-архива, содержащего указанные файлы.
| Параметры |
|---|
files | List : список файлов для архивации в ZIP-архив. |
name | String : базовое имя ZIP-файла, созданного без расширения. |
| Возвраты |
|---|
File | временный ZIP- File , содержащий содержимое каталога |
| Броски |
|---|
IOException | если не удалось создать zip-файл |
createZip
public static void createZip (List<File> files,
File zipFile) Вспомогательный метод для создания ZIP-архива, содержащего указанные файлы.
| Параметры |
|---|
files | List : список файлов для архивации в ZIP-архив. |
zipFile | File : создаваемый ZIP-архив — он не должен существовать. |
| Броски |
|---|
IOException | если не удалось создать zip-файл |
createZip
public static void createZip (File dir,
File zipFile)Вспомогательный метод для создания ZIP-архива, содержащего указанную директорию и все её содержимое.
| Параметры |
|---|
dir | File : каталог для архивации в ZIP-архив. |
zipFile | File : создаваемый ZIP-архив — он не должен существовать. |
| Броски |
|---|
IOException | если не удалось создать zip-файл |
public static File extractFileFromZip (ZipFile zipFile,
String filePath)Вспомогательный метод для извлечения одного конкретного файла из ZIP-архива во временный файл.
| Параметры |
|---|
zipFile | ZipFile : ZipFile для распаковки. |
filePath | String : путь к файлу для извлечения |
| Возвраты |
|---|
File | File или null, если файл не найден. |
| Броски |
|---|
IOException | если не удалось извлечь файл |
public static void extractZip (ZipFile zipFile,
File destDir)Вспомогательный метод для извлечения всего содержимого ZIP-файла в указанную директорию.
| Параметры |
|---|
zipFile | ZipFile : ZipFile для распаковки. |
destDir | File : локальная директория для извлечения файла. |
| Броски |
|---|
IOException | если не удалось извлечь файл |
public static void extractZip (ZipFile zipFile,
File destDir,
Predicate<ZipEntry> shouldExtract)Вспомогательный метод для извлечения содержимого ZIP-файла в указанную директорию.
| Параметры |
|---|
zipFile | ZipFile : ZipFile для распаковки. |
destDir | File : локальная директория для извлечения файла. |
shouldExtract | Predicate : предикат, определяющий, следует ли извлекать запись ZipEntry. |
| Броски |
|---|
IOException | если не удалось извлечь файл |
public static File extractZipToTemp (File zipFile,
String nameHint)Распакуйте ZIP-файл во временную директорию, предварительно добавив в начало строку.
| Параметры |
|---|
zipFile | File : zip-архив для распаковки |
nameHint | String : префикс для временного каталога |
| Возвраты |
|---|
File | File , указывающий на временный каталог. |
| Броски |
|---|
IOException | |
ZipException | |
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset,
boolean useZip64)Получите список {ссылка CentralDirectoryInfo} для файлов в zip-архиве.
| Параметры |
|---|
partialZipFile | File : объект File , представляющий собой фрагмент ZIP-архива, содержащий записи центрального каталога. |
endCentralDirInfo | EndCentralDirectoryInfo : объект EndCentralDirectoryInfo содержащий информацию о содержимом ZIP-файла. |
offset | long : смещение в частичном zip-файле, с которого начинается содержимое записей центрального каталога. |
useZip64 | boolean : логическое значение для поддержки формата zip64 при частичной загрузке. |
| Броски |
|---|
| java.io.IOException |
IOException | |
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)Получите список {ссылка CentralDirectoryInfo} для файлов в zip-архиве.
| Параметры |
|---|
partialZipFile | File : объект File , представляющий собой фрагмент ZIP-архива, содержащий записи центрального каталога. |
endCentralDirInfo | EndCentralDirectoryInfo : объект EndCentralDirectoryInfo содержащий информацию о содержимом ZIP-файла. |
| Броски |
|---|
| java.io.IOException |
IOException | |
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
boolean useZip64)Получите список {ссылка CentralDirectoryInfo} для файлов в zip-архиве.
| Параметры |
|---|
partialZipFile | File : объект File , представляющий собой фрагмент ZIP-архива, содержащий записи центрального каталога. |
endCentralDirInfo | EndCentralDirectoryInfo : объект EndCentralDirectoryInfo содержащий информацию о содержимом ZIP-файла. |
useZip64 | boolean : логическое значение для поддержки формата zip64 при частичной загрузке. |
| Броски |
|---|
| java.io.IOException |
IOException | |
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset)Получите список {ссылка CentralDirectoryInfo} для файлов в zip-архиве.
| Параметры |
|---|
partialZipFile | File : объект File , представляющий собой фрагмент ZIP-архива, содержащий записи центрального каталога. |
endCentralDirInfo | EndCentralDirectoryInfo : объект EndCentralDirectoryInfo содержащий информацию о содержимом ZIP-файла. |
offset | long : смещение в частичном zip-файле, с которого начинается содержимое записей центрального каталога. |
| Броски |
|---|
| java.io.IOException |
IOException | |
gzipFile
public static void gzipFile (File file,
File gzipFile)Вспомогательный метод для создания сжатой (gzip) версии одного файла.
| Параметры |
|---|
file | File : исходный файл |
gzipFile | File : файл, в который будет помещено сжатое содержимое. |
| Броски |
|---|
| java.io.IOException |
IOException | |
isZipFileValid
public static boolean isZipFileValid (File zipFile,
boolean thorough)Вспомогательный метод для проверки целостности ZIP-файла.
| Параметры |
|---|
zipFile | File : File для проверки |
thorough | boolean : следует ли пытаться полностью извлечь архив. Если false , этот метод не сможет обнаружить ошибки CRC в корректно сформированном архиве. |
| Возвраты |
|---|
boolean | false если файл поврежден; true в противном случае. |
| Броски |
|---|
IOException | если файл не удалось открыть или прочитать |
unzipPartialZipFile
public static void unzipPartialZipFile (File partialZip,
File targetFile,
CentralDirectoryInfo zipEntry,
LocalFileHeader localFileHeader,
long startOffset)Извлечь один запрошенный файл из частично заполненного ZIP-архива.
Этот метод предполагает, что все файлы находятся на одном диске во время сжатия.
Если ERROR(/targetFile) — это каталог, будет создан пустой каталог без своего содержимого.
If ERROR(/targetFile) is a symlink, a symlink will be created but not resolved.
В настоящее время следующие функции пока не поддерживаются:
Размер ZIP-файла превышает 4 ГБ.
ZIP64 (требуется обновление заголовка ZipLocalFileHeader в зависимости от размера сжатого файла)
Зашифрованный zip-файл
| Параметры |
|---|
partialZip | File : File , представляющий собой часть zip-архива. |
targetFile | File : File , в который будет сохранен извлеченный файл. |
zipEntry | CentralDirectoryInfo : объект CentralDirectoryInfo о файле, который нужно извлечь из частичного zip-архива. |
localFileHeader | LocalFileHeader : объект LocalFileHeader , содержащий имя файла, который нужно извлечь из частичного zip-архива. |
startOffset | long : начальное смещение файла для извлечения. |
| Броски |
|---|
| java.io.IOException |
IOException | |
unzipPartialZipFolder
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)Извлеките запрошенную папку из частично распакованного ZIP-архива и примените соответствующие права доступа.
| Параметры |
|---|
targetFile | File : File , в который будет сохранен извлеченный файл. |
zipEntry | CentralDirectoryInfo : объект CentralDirectoryInfo о файле, который нужно извлечь из частичного zip-архива. |
| Броски |
|---|
| java.io.IOException |
IOException | |
Защищенные методы
validateDestinationDir
protected static void validateDestinationDir (File destDir,
String filename)| Параметры |
|---|
destDir | File |
filename | String |