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-архива и примените соответствующие права доступа.

Защищенные методы

static void validateDestinationDir (File destDir, String filename)

Государственные строители

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-файл

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

Вспомогательный метод для извлечения одного конкретного файла из ZIP-архива во временный файл.

Параметры
zipFile ZipFile : ZipFile для распаковки.

filePath String : путь к файлу для извлечения

Возвраты
File File или null, если файл не найден.

Броски
IOException если не удалось извлечь файл

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Вспомогательный метод для извлечения всего содержимого ZIP-файла в указанную директорию.

Параметры
zipFile ZipFile : ZipFile для распаковки.

destDir File : локальная директория для извлечения файла.

Броски
IOException если не удалось извлечь файл

extractZip

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

Вспомогательный метод для извлечения содержимого ZIP-файла в указанную директорию.

Параметры
zipFile ZipFile : ZipFile для распаковки.

destDir File : локальная директория для извлечения файла.

shouldExtract Predicate : предикат, определяющий, следует ли извлекать запись ZipEntry.

Броски
IOException если не удалось извлечь файл

extractZipToTemp

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 при частичной загрузке.

Возвраты
List< CentralDirectoryInfo > Список объектов CentralDirectoryInfo в zip-архиве.

Броски
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

Получите список {ссылка CentralDirectoryInfo} для файлов в zip-архиве.

Параметры
partialZipFile File : объект File , представляющий собой фрагмент ZIP-архива, содержащий записи центрального каталога.

endCentralDirInfo EndCentralDirectoryInfo : объект EndCentralDirectoryInfo содержащий информацию о содержимом ZIP-файла.

Возвраты
List< CentralDirectoryInfo > Список объектов CentralDirectoryInfo в 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 при частичной загрузке.

Возвраты
List< CentralDirectoryInfo > Список объектов CentralDirectoryInfo в zip-архиве.

Броски
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-файле, с которого начинается содержимое записей центрального каталога.

Возвраты
List< CentralDirectoryInfo > Список объектов CentralDirectoryInfo в 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

Броски
IOException