ZipUtil

public class ZipUtil
extends Object

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


Una clase auxiliar para operaciones relacionadas con la compresión

Resumen

Constructores públicos

ZipUtil()

Métodos públicos

static void addToZip(ZipOutputStream out, File file, relativePathSegs)

Agrega de manera recurrente un archivo determinado y su contenido a ZipOutputStream.

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

Aplica el permiso de archivo configurado en la entrada del directorio central.

static void closeZip(ZipFile zipFile)

Cierra una ERROR(/ZipFile) abierta, sin tener en cuenta las excepciones.

static File createZip(File dir)

Método de utilidad para crear un archivo ZIP temporal que contenga el directorio determinado y todo su contenido.

static File createZip( files, String name)

Método de utilidad para crear un archivo ZIP temporal que contenga los archivos dados.

static File createZip(File dir, String name)

Método de utilidad para crear un archivo ZIP temporal que contenga el directorio determinado y todo su contenido.

static File createZip( files)

Método de utilidad para crear un archivo ZIP temporal que contenga los archivos especificados

static void createZip(File dir, File zipFile)

Método de utilidad para crear un archivo ZIP que contenga el directorio determinado y todo su contenido.

static void createZip( files, File zipFile)

Método de utilidad para crear un archivo ZIP que contenga los archivos determinados

static File extractFileFromZip(ZipFile zipFile, String filePath)

Método de utilidad para extraer un archivo específico del archivo ZIP en un archivo tmp

static void extractZip(ZipFile zipFile, File destDir)

Método de utilidad para extraer todo el contenido del archivo ZIP en un directorio determinado

static void extractZip(ZipFile zipFile, File destDir, shouldExtract)

Método de utilidad para extraer el contenido del archivo ZIP en un directorio determinado

static File extractZipToTemp(File zipFile, String nameHint)

Extrae un archivo ZIP en un directorio temporal precedido por una cadena.

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)

Obtén una lista de {link CentralDirectoryInfo} para los archivos en un archivo ZIP.

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)

Obtén una lista de {link CentralDirectoryInfo} para los archivos en un archivo ZIP.

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

Obtén una lista de {link CentralDirectoryInfo} para los archivos en un archivo ZIP.

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)

Obtén una lista de {link CentralDirectoryInfo} para los archivos en un archivo ZIP.

static void gzipFile(File file, File gzipFile)

Es un método de ayuda para crear una versión comprimida de un solo archivo.

static boolean isZipFileValid(File zipFile, boolean thorough)

Método de utilidad para verificar que un archivo ZIP no esté dañado.

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

Extraer un solo archivo solicitado de un archivo ZIP parcial.

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

Extrae la carpeta solicitada de un archivo ZIP parcial y aplica el permiso adecuado.

Métodos protegidos

static void validateDestinationDir(File destDir, String filename)

Constructores públicos

ZipUtil

public ZipUtil ()

Métodos públicos

Agregar a Zip

public static void addToZip (ZipOutputStream out, 
                File file, 
                 relativePathSegs)

Agrega de manera recurrente un archivo determinado y su contenido a ZipOutputStream.

Parámetros
out ZipOutputStream: el ERROR(/ZipOutputStream)

file File: Es el ERROR(/File) que se agregará a la transmisión.

relativePathSegs : Es la ruta de acceso relativa del archivo, incluidos los separadores.

Arroja
si no se pudo agregar el archivo al archivo ZIP

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

Aplica el permiso de archivo configurado en la entrada del directorio central.

Parámetros
targetFile File: Es el ERROR(/File) para configurar el permiso.

zipEntry CentralDirectoryInfo: Es un objeto CentralDirectoryInfo que contiene los permisos de archivo.

Arroja
si no logras acceder al archivo.

cerrarZip

public static void closeZip (ZipFile zipFile)

Cierra una ERROR(/ZipFile) abierta, sin tener en cuenta las excepciones.

Parámetros
zipFile ZipFile: Es el archivo que se cerrará.

createZip

public static File createZip (File dir)

Método de utilidad para crear un archivo ZIP temporal que contenga el directorio determinado y todo su contenido.

Parámetros
dir File: Es el directorio que se comprimirá.

Devuelve
File un archivo ZIP temporal ERROR(/File) que incluye el contenido del directorio.

Arroja
Si no se pudo crear un archivo ZIP

createZip

public static File createZip ( files, 
                String name)

Método de utilidad para crear un archivo ZIP temporal que contenga los archivos dados.

Parámetros
files : Lista de archivos para comprimir

name String: Es el nombre base del archivo ZIP creado sin la extensión.

Devuelve
File un archivo ZIP temporal ERROR(/File) que incluye el contenido del directorio.

Arroja
Si no se pudo crear un archivo ZIP

createZip

public static File createZip (File dir, 
                String name)

Método de utilidad para crear un archivo ZIP temporal que contenga el directorio determinado y todo su contenido.

Parámetros
dir File: Es el directorio que se comprimirá.

name String: Es el nombre base del archivo ZIP creado sin la extensión.

Devuelve
File un archivo ZIP temporal ERROR(/File) que incluye el contenido del directorio.

Arroja
Si no se pudo crear un archivo ZIP

createZip

public static File createZip ( files)

Método de utilidad para crear un archivo ZIP temporal que contenga los archivos especificados

Parámetros
files : Lista de archivos para comprimir

Devuelve
File un archivo ZIP temporal ERROR(/File) que incluye el contenido del directorio.

Arroja
Si no se pudo crear un archivo ZIP

createZip

public static void createZip (File dir, 
                File zipFile)

Método de utilidad para crear un archivo ZIP que contenga el directorio determinado y todo su contenido.

Parámetros
dir File: Es el directorio que se comprimirá.

zipFile File: Es el archivo ZIP que se creará (no debe existir previamente).

Arroja
Si no se pudo crear un archivo ZIP

createZip

public static void createZip ( files, 
                File zipFile)

Método de utilidad para crear un archivo ZIP que contenga los archivos determinados

Parámetros
files : Lista de archivos para comprimir

zipFile File: Es el archivo ZIP que se creará (no debe existir previamente).

Arroja
Si no se pudo crear un archivo ZIP

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

Método de utilidad para extraer un archivo específico del archivo ZIP en un archivo tmp

Parámetros
zipFile ZipFile: Es el ERROR(/ZipFile) que se extraerá.

filePath String: Es la filePath de la que se extraerá.

Devuelve
File ERROR(/File) o un valor nulo si no se encuentra

Arroja
si no se pudo extraer el archivo

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Método de utilidad para extraer todo el contenido del archivo ZIP en un directorio determinado

Parámetros
zipFile ZipFile: Es el ERROR(/ZipFile) que se extraerá.

destDir File: Es el dir local en el que se extraerá el archivo.

Arroja
si no se pudo extraer el archivo

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir, 
                 shouldExtract)

Método de utilidad para extraer el contenido del archivo ZIP en un directorio determinado

Parámetros
zipFile ZipFile: Es el ERROR(/ZipFile) que se extraerá.

destDir File: Es el dir local en el que se extraerá el archivo.

shouldExtract : Es el predicado para derminar si se debe extraer una ZipEntry.

Arroja
si no se pudo extraer el archivo

extraer ZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

Extrae un archivo ZIP en un directorio temporal precedido por una cadena.

Parámetros
zipFile File: Es el archivo ZIP que se extraerá.

nameHint String: Un prefijo para el directorio temporal

Devuelve
File un ERROR(/File) que dirija al directorio temporal

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                boolean useZip64)

Obtén una lista de {link CentralDirectoryInfo} para los archivos en un archivo ZIP.

Parámetros
partialZipFile File: Es un objeto ERROR(/File) del archivo ZIP parcial que contiene las entradas del directorio central.

endCentralDirInfo EndCentralDirectoryInfo: Es un objeto EndCentralDirectoryInfo del archivo ZIP.

useZip64 boolean: Es un valor booleano que admite el formato zip64 en la descarga parcial.

Devuelve
Una lista de CentralDirectoryInfo del archivo ZIP

Arroja
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset)

Obtén una lista de {link CentralDirectoryInfo} para los archivos en un archivo ZIP.

Parámetros
partialZipFile File: Es un objeto ERROR(/File) del archivo ZIP parcial que contiene las entradas del directorio central.

endCentralDirInfo EndCentralDirectoryInfo: Es un objeto EndCentralDirectoryInfo del archivo ZIP.

offset long: El desplazamiento en el archivo ZIP parcial donde comienza el contenido de las entradas del directorio central.

Devuelve
Una lista de CentralDirectoryInfo del archivo ZIP

Arroja
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

Obtén una lista de {link CentralDirectoryInfo} para los archivos en un archivo ZIP.

Parámetros
partialZipFile File: Es un objeto ERROR(/File) del archivo ZIP parcial que contiene las entradas del directorio central.

endCentralDirInfo EndCentralDirectoryInfo: Es un objeto EndCentralDirectoryInfo del archivo ZIP.

Devuelve
Una lista de CentralDirectoryInfo del archivo ZIP

Arroja
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset, 
                boolean useZip64)

Obtén una lista de {link CentralDirectoryInfo} para los archivos en un archivo ZIP.

Parámetros
partialZipFile File: Es un objeto ERROR(/File) del archivo ZIP parcial que contiene las entradas del directorio central.

endCentralDirInfo EndCentralDirectoryInfo: Es un objeto EndCentralDirectoryInfo del archivo ZIP.

offset long: El desplazamiento en el archivo ZIP parcial donde comienza el contenido de las entradas del directorio central.

useZip64 boolean: Es un valor booleano que admite el formato zip64 en la descarga parcial.

Devuelve
Una lista de CentralDirectoryInfo del archivo ZIP

Arroja
IOException

Archivo gzip

public static void gzipFile (File file, 
                File gzipFile)

Es un método de ayuda para crear una versión comprimida de un solo archivo.

Parámetros
file File: Es el archivo original.

gzipFile File: Es el archivo en el que se colocará el contenido comprimido.

Arroja
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

Método de utilidad para verificar que un archivo ZIP no esté dañado.

Parámetros
zipFile File: Es el ERROR(/File) que se debe verificar.

thorough boolean: Indica si se debe intentar extraer el archivo por completo. Si es false, este método no podrá detectar errores de CRC en un archivo con formato correcto.

Devuelve
boolean false si el archivo parece estar dañado; de lo contrario, true

Arroja
si el archivo no se pudo abrir o leer

unzipPartialZipFile

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

Extraer un solo archivo solicitado de un archivo ZIP parcial.

Este método supone que todos los archivos están en el mismo disco cuando se comprimen.

Si ERROR(/targetFile) es un directorio, se creará un directorio vacío sin su contenido.

Si ERROR(/targetFile) es un symlink, se creará uno, pero no se resolverá.

Todavía no admite las siguientes funciones:

Archivo ZIP de más de 4 GB

ZIP64(se requiere la actualización de ZipLocalFileHeader en el tamaño comprimido)

Archivo ZIP encriptado

Parámetros
partialZip File: Es un ERROR(/File) que es parte del archivo ZIP.

targetFile File: Es el ERROR(/File) en el que se guardará el archivo extraído.

zipEntry CentralDirectoryInfo: Es un objeto CentralDirectoryInfo del archivo que se extraerá del archivo ZIP parcial.

localFileHeader LocalFileHeader: Es un objeto LocalFileHeader del archivo que se extraerá del archivo ZIP parcial.

startOffset long: Es el desplazamiento inicial del archivo que se extraerá.

Arroja
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

Extrae la carpeta solicitada de un archivo ZIP parcial y aplica el permiso adecuado.

Parámetros
targetFile File: Es el ERROR(/File) en el que se guardará el archivo extraído.

zipEntry CentralDirectoryInfo: Es un objeto CentralDirectoryInfo del archivo que se extraerá del archivo ZIP parcial.

Arroja
IOException

Métodos protegidos

ValidarDestinoDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Parámetros
destDir File

filename String