ZipUtil

public class ZipUtil
extends Object

java.lang.Object
   ↳ 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 forma recursiva el 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 un ERROR(/ZipFile) abierto sin tener en cuenta las excepciones.

static File createZip(File dir)

Es un método de utilidad para crear un archivo ZIP temporal que contiene el directorio determinado y todo su contenido.

static File createZip( files, String name)

Es un método de utilidad para crear un archivo ZIP temporal que contiene los archivos determinados.

static File createZip(File dir, String name)

Es un método de utilidad para crear un archivo ZIP temporal que contiene 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 determinados

static void createZip(File dir, File zipFile)

Es un método de utilidad para crear un archivo ZIP que contiene 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 de un archivo ZIP a 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 a un directorio temporal con una cadena al principio

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

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

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

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

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

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

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

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

static void gzipFile(File file, File gzipFile)

Es un método auxiliar para crear una versión con compresión gzip de un solo archivo.

static boolean isZipFileValid(File zipFile, boolean thorough)

Es un 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

addToZip

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

Agrega de forma recursiva el archivo determinado y su contenido a ZipOutputStream.

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

file File: Es el ERROR(/File) que se agregará al flujo.

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

Arroja
if failed to add file to 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) al que se debe establecer el permiso.

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

Arroja
si no se puede acceder al archivo.

closeZip

public static void closeZip (ZipFile zipFile)

Cierra un ERROR(/ZipFile) abierto sin tener en cuenta las excepciones.

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

createZip

public static File createZip (File dir)

Es un método de utilidad para crear un archivo ZIP temporal que contiene el directorio determinado y todo su contenido.

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

Muestra
File Un archivo ZIP temporal ERROR(/File) que contiene el contenido del directorio

Arroja
if failed to create zip file

createZip

public static File createZip ( files, 
                String name)

Es un método de utilidad para crear un archivo ZIP temporal que contiene los archivos determinados.

Parámetros
files : Es la lista de archivos que se comprimen.

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

Muestra
File Un archivo ZIP temporal ERROR(/File) que contiene el contenido del directorio

Arroja
if failed to create zip file

createZip

public static File createZip (File dir, 
                String name)

Es un método de utilidad para crear un archivo ZIP temporal que contiene 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.

Muestra
File Un archivo ZIP temporal ERROR(/File) que contiene el contenido del directorio

Arroja
if failed to create zip file

createZip

public static File createZip ( files)

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

Parámetros
files : Es la lista de archivos que se comprimen.

Muestra
File Un archivo ZIP temporal ERROR(/File) que contiene el contenido del directorio

Arroja
if failed to create zip file

createZip

public static void createZip (File dir, 
                File zipFile)

Es un método de utilidad para crear un archivo ZIP que contiene 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 debería existir.

Arroja
if failed to create zip file

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 : Es la lista de archivos que se comprimen.

zipFile File: Es el archivo ZIP que se creará. No debería existir.

Arroja
if failed to create zip file

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

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

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

filePath String: Es la ruta de acceso del archivo que se extraerá.

Muestra
File el ERROR(/File) o 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 la carpeta local a la 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 la carpeta local a la que se extraerá el archivo.

shouldExtract : Es el predicado para determinar si se debe extraer un ZipEntry.

Arroja
si no se pudo extraer el archivo

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

Extrae un archivo ZIP a un directorio temporal con una cadena al principio

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

nameHint String: Es un prefijo para el directorio temporal.

Muestra
File un ERROR(/File) que apunte al directorio temporal

getZipCentralDirectoryInfos

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

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

Parámetros
partialZipFile File: Un objeto ERROR(/File) del archivo ZIP parcial que contiene entradas de directorio centrales.

endCentralDirInfo EndCentralDirectoryInfo: Es un objeto EndCentralDirectoryInfo del archivo ZIP.

useZip64 boolean: Es un valor booleano para admitir el formato zip64 en la descarga parcial.

Muestra
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 de un archivo ZIP.

Parámetros
partialZipFile File: Un objeto ERROR(/File) del archivo ZIP parcial que contiene entradas de directorio centrales.

endCentralDirInfo EndCentralDirectoryInfo: Es un objeto EndCentralDirectoryInfo del archivo ZIP.

offset long: Es la compensación en el archivo ZIP parcial donde comienza el contenido de las entradas del directorio central.

Muestra
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 de un archivo ZIP.

Parámetros
partialZipFile File: Un objeto ERROR(/File) del archivo ZIP parcial que contiene entradas de directorio centrales.

endCentralDirInfo EndCentralDirectoryInfo: Es un objeto EndCentralDirectoryInfo del archivo ZIP.

Muestra
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 de un archivo ZIP.

Parámetros
partialZipFile File: Un objeto ERROR(/File) del archivo ZIP parcial que contiene entradas de directorio centrales.

endCentralDirInfo EndCentralDirectoryInfo: Es un objeto EndCentralDirectoryInfo del archivo ZIP.

offset long: Es la compensación en el archivo ZIP parcial donde comienza el contenido de las entradas del directorio central.

useZip64 boolean: Es un valor booleano para admitir el formato zip64 en la descarga parcial.

Muestra
Una lista de CentralDirectoryInfo del archivo ZIP

Arroja
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

Método auxiliar para crear una versión con compresión gzip de un solo archivo.

Parámetros
file File: 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)

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

Parámetros
zipFile File: 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 detectará errores de CRC en un archivo con el formato correcto.

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

Arroja
si no se pudo abrir o leer el archivo

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 vínculo simbólico, se creará uno, pero no se resolverá.

Aún no admite las siguientes funciones:

El archivo ZIP es superior a 4 GB.

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

Archivo ZIP encriptado

Parámetros
partialZip File: Un ERROR(/File) que es una 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

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Parámetros
destDir File

filename String