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
| 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.
        
    
 | 
  
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: elERROR(/ZipOutputStream) | 
      
        | file | File: Es elERROR(/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 elERROR(/File)al que se debe establecer el permiso. | 
      
        | zipEntry | CentralDirectoryInfo: Es un objetoCentralDirectoryInfoque 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 | 
      
  
 
    
    
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 elERROR(/ZipFile)que se extraerá. | 
      
        | filePath | String: Es la ruta de acceso del archivo que se extraerá. | 
    
    
      
      | Arroja | 
|---|
        
          |  | si no se pudo extraer el archivo | 
      
  
 
    
    
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 elERROR(/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 | 
      
  
 
    
    
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 elERROR(/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 | 
      
  
 
    
    
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 objetoERROR(/File)del archivo ZIP parcial que contiene entradas de directorio centrales. | 
      
        | endCentralDirInfo | EndCentralDirectoryInfo: Es un objetoEndCentralDirectoryInfodel archivo ZIP. | 
      
        | useZip64 | boolean: Es un valor booleano para admitir el formato zip64 en la descarga parcial. | 
    
    
      
  
 
    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 objetoERROR(/File)del archivo ZIP parcial que contiene entradas de directorio centrales. | 
      
        | endCentralDirInfo | EndCentralDirectoryInfo: Es un objetoEndCentralDirectoryInfodel archivo ZIP. | 
      
        | offset | long: Es la compensación en el archivo ZIP parcial donde comienza el contenido de las entradas del directorio central. | 
    
    
      
  
 
    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 objetoERROR(/File)del archivo ZIP parcial que contiene entradas de directorio centrales. | 
      
        | endCentralDirInfo | EndCentralDirectoryInfo: Es un objetoEndCentralDirectoryInfodel archivo ZIP. | 
    
    
      
  
 
    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 objetoERROR(/File)del archivo ZIP parcial que contiene entradas de directorio centrales. | 
      
        | endCentralDirInfo | EndCentralDirectoryInfo: Es un objetoEndCentralDirectoryInfodel 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. | 
    
    
      
  
 
    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. | 
    
      
  
 
    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: ElERROR(/File)que se debe verificar | 
      
        | thorough | boolean: Indica si se debe intentar extraer el archivo por completo.  Si esfalse, este método no detectará errores de CRC en un archivo con el formato correcto. | 
    
    
      | Muestra | 
|---|
      
        | boolean | falsesi el archivo parece estar dañado;truede 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: UnERROR(/File)que es una parte del archivo ZIP. | 
      
        | targetFile | File: Es elERROR(/File)en el que se guardará el archivo extraído. | 
      
        | zipEntry | CentralDirectoryInfo: Es un objetoCentralDirectoryInfodel archivo que se extraerá del archivo ZIP parcial. | 
      
        | localFileHeader | LocalFileHeader: Es un objetoLocalFileHeaderdel archivo que se extraerá del archivo ZIP parcial. | 
      
        | startOffset | long: Es el desplazamiento inicial del archivo que se extraerá. | 
    
      
  
 
    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 elERROR(/File)en el que se guardará el archivo extraído. | 
      
        | zipEntry | CentralDirectoryInfo: Es un objetoCentralDirectoryInfodel archivo que se extraerá del archivo ZIP parcial. | 
    
      
  
 
Métodos protegidos
    validateDestinationDir
    
protected static void validateDestinationDir (File destDir, 
                String filename)
    
    
    
  
    
    | Parámetros | 
|---|
      
        | destDir | File | 
      
        | filename | String |