ZipUtil

public class ZipUtil
extends Object

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


Uma classe auxiliar para operações relacionadas à compactação

Resumo

Construtores públicos

ZipUtil()

Métodos públicos

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

Adiciona recursivamente um determinado arquivo e seu conteúdo ao ZipOutputStream.

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

Aplique a permissão de arquivo configurada na entrada do diretório central.

static void closeZip(ZipFile zipFile)

Feche um ERROR(/ZipFile) aberto, ignorando todas as exceções.

static File createZip(File dir)

Método utilitário para criar um arquivo zip temporário contendo o diretório fornecido e todo o conteúdo dela.

static File createZip( files, String name)

Método utilitário para criar um arquivo zip temporário contendo os arquivos fornecidos.

static File createZip(File dir, String name)

Método utilitário para criar um arquivo zip temporário contendo o diretório fornecido e todo o conteúdo dela.

static File createZip( files)

Método utilitário para criar um arquivo zip temporário contendo os arquivos fornecidos.

static void createZip(File dir, File zipFile)

Método utilitário para criar um arquivo zip contendo o diretório fornecido e todo o conteúdo dela.

static void createZip( files, File zipFile)

Método utilitário para criar um arquivo ZIP contendo os arquivos fornecidos

static File extractFileFromZip(ZipFile zipFile, String filePath)

Método utilitário para extrair um arquivo específico de um arquivo ZIP para um arquivo tmp

static void extractZip(ZipFile zipFile, File destDir)

Método utilitário para extrair todo o conteúdo do arquivo ZIP para o diretório específico

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

Método utilitário para extrair o conteúdo do arquivo ZIP para o diretório especificado

static File extractZipToTemp(File zipFile, String nameHint)

Extrair um arquivo ZIP para um diretório temporário com uma string no início

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

Obtenha uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo zip.

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

Obtenha uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo zip.

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

Obtenha uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo zip.

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

Obtenha uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo zip.

static void gzipFile(File file, File gzipFile)

Método auxiliar para criar uma versão gzip de um único arquivo.

static boolean isZipFileValid(File zipFile, boolean thorough)

Método utilitário para verificar se um arquivo ZIP não está corrompido.

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

Extrair um único arquivo solicitado de um arquivo ZIP parcial.

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

Extraia a pasta solicitada de um arquivo ZIP parcial e aplique a permissão adequada.

Métodos protegidos

static void validateDestinationDir(File destDir, String filename)

Construtores públicos

ZipUtil

public ZipUtil ()

Métodos públicos

addToZip

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

Adiciona recursivamente um determinado arquivo e seu conteúdo ao ZipOutputStream.

Parâmetros
out ZipOutputStream: o ERROR(/ZipOutputStream)

file File: o ERROR(/File) a ser adicionado ao stream

relativePathSegs : o caminho relativo do arquivo, incluindo separadores

Gera
se houver falha ao adicionar o arquivo ao zip

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

Aplique a permissão de arquivo configurada na entrada do diretório central.

Parâmetros
targetFile File: o ERROR(/File) que vai ter a permissão definida.

zipEntry CentralDirectoryInfo: um objeto CentralDirectoryInfo que contém as permissões do arquivo.

Gera
em caso de falha para acessar o arquivo.

Fechar Zip

public static void closeZip (ZipFile zipFile)

Feche um ERROR(/ZipFile) aberto, ignorando todas as exceções.

Parâmetros
zipFile ZipFile: o arquivo a ser fechado.

createZip

public static File createZip (File dir)

Método utilitário para criar um arquivo zip temporário contendo o diretório fornecido e todo o conteúdo dela.

Parâmetros
dir File: o diretório a ser compactado.

Retorna
File um arquivo zip temporário ERROR(/File) contendo o conteúdo do diretório;

Gera
se houver falha ao criar o arquivo ZIP

createZip

public static File createZip ( files, 
                String name)

Método utilitário para criar um arquivo zip temporário contendo os arquivos fornecidos.

Parâmetros
files : lista de arquivos a serem compactados

name String: o nome base do arquivo ZIP criado sem a extensão.

Retorna
File um arquivo zip temporário ERROR(/File) contendo o conteúdo do diretório;

Gera
se houver falha ao criar o arquivo ZIP

createZip

public static File createZip (File dir, 
                String name)

Método utilitário para criar um arquivo zip temporário contendo o diretório fornecido e todo o conteúdo dela.

Parâmetros
dir File: o diretório a ser compactado.

name String: o nome base do arquivo ZIP criado sem a extensão.

Retorna
File um arquivo zip temporário ERROR(/File) contendo o conteúdo do diretório;

Gera
se houver falha ao criar o arquivo ZIP

createZip

public static File createZip ( files)

Método utilitário para criar um arquivo zip temporário contendo os arquivos fornecidos.

Parâmetros
files : lista de arquivos a serem compactados

Retorna
File um arquivo zip temporário ERROR(/File) contendo o conteúdo do diretório;

Gera
se houver falha ao criar o arquivo ZIP

createZip

public static void createZip (File dir, 
                File zipFile)

Método utilitário para criar um arquivo zip contendo o diretório fornecido e todo o conteúdo dela.

Parâmetros
dir File: o diretório a ser compactado.

zipFile File: o arquivo ZIP a ser criado. Ele ainda não deve existir.

Gera
se houver falha ao criar o arquivo ZIP

createZip

public static void createZip ( files, 
                File zipFile)

Método utilitário para criar um arquivo ZIP contendo os arquivos fornecidos

Parâmetros
files : lista de arquivos a serem compactados

zipFile File: o arquivo ZIP a ser criado. Ele ainda não deve existir.

Gera
se houver falha ao criar o arquivo ZIP

extraçãoFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

Método utilitário para extrair um arquivo específico de um arquivo ZIP para um arquivo tmp

Parâmetros
zipFile ZipFile: o ERROR(/ZipFile) a ser extraído

filePath String: o filePath do objeto a ser extraído.

Retorna
File o ERROR(/File) ou nulo, se não for encontrado

Gera
se houver falha ao extrair o arquivo

extrairZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Método utilitário para extrair todo o conteúdo do arquivo ZIP para o diretório específico

Parâmetros
zipFile ZipFile: o ERROR(/ZipFile) a ser extraído

destDir File: o diretório local para onde o arquivo será extraído

Gera
se houver falha ao extrair o arquivo

extrairZip

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

Método utilitário para extrair o conteúdo do arquivo ZIP para o diretório especificado

Parâmetros
zipFile ZipFile: o ERROR(/ZipFile) a ser extraído

destDir File: o diretório local para onde o arquivo será extraído

shouldExtract : o predicado para determinar se uma ZipEntry for extraída.

Gera
se houver falha ao extrair o arquivo

extraçãoZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

Extrair um arquivo ZIP para um diretório temporário com uma string no início

Parâmetros
zipFile File: o arquivo ZIP a ser extraído

nameHint String: um prefixo para o diretório temporário.

Retorna
File um ERROR(/File) apontando para o diretório temporário

getZipCentralDirectoryInfos

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

Obtenha uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo zip.

Parâmetros
partialZipFile File: um objeto ERROR(/File) do arquivo ZIP parcial que contém arquivos centrais de entrada do diretório atual.

endCentralDirInfo EndCentralDirectoryInfo: um objeto EndCentralDirectoryInfo do arquivo ZIP.

useZip64 boolean: um booleano que oferece suporte ao formato zip64 no download parcial.

Retorna
Uma lista de CentralDirectoryInfo do arquivo ZIP

Gera
IOException

getZipCentralDirectoryInfos

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

Obtenha uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo zip.

Parâmetros
partialZipFile File: um objeto ERROR(/File) do arquivo ZIP parcial que contém arquivos centrais de entrada do diretório atual.

endCentralDirInfo EndCentralDirectoryInfo: um objeto EndCentralDirectoryInfo do arquivo ZIP.

offset long: o deslocamento no arquivo ZIP parcial em que o conteúdo do diretório central entradas.

Retorna
Uma lista de CentralDirectoryInfo do arquivo ZIP

Gera
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

Obtenha uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo zip.

Parâmetros
partialZipFile File: um objeto ERROR(/File) do arquivo ZIP parcial que contém arquivos centrais de entrada do diretório atual.

endCentralDirInfo EndCentralDirectoryInfo: um objeto EndCentralDirectoryInfo do arquivo ZIP.

Retorna
Uma lista de CentralDirectoryInfo do arquivo ZIP

Gera
IOException

getZipCentralDirectoryInfos

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

Obtenha uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo zip.

Parâmetros
partialZipFile File: um objeto ERROR(/File) do arquivo ZIP parcial que contém arquivos centrais de entrada do diretório atual.

endCentralDirInfo EndCentralDirectoryInfo: um objeto EndCentralDirectoryInfo do arquivo ZIP.

offset long: o deslocamento no arquivo ZIP parcial em que o conteúdo do diretório central entradas.

useZip64 boolean: um booleano que oferece suporte ao formato zip64 no download parcial.

Retorna
Uma lista de CentralDirectoryInfo do arquivo ZIP

Gera
IOException

Arquivo gzip

public static void gzipFile (File file, 
                File gzipFile)

Método auxiliar para criar uma versão gzip de um único arquivo.

Parâmetros
file File: o arquivo original.

gzipFile File: o arquivo em que o conteúdo compactado será colocado.

Gera
IOException

IsZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

Método utilitário para verificar se um arquivo ZIP não está corrompido.

Parâmetros
zipFile File: o ERROR(/File) a ser verificado.

thorough boolean: se deve tentar extrair totalmente o arquivo. Se for false, esse não detectará erros de CRC em um arquivo bem formado.

Retorna
boolean false se o arquivo parecer corrompido. Caso contrário, true

Gera
se não for possível abrir ou ler o arquivo

unzipPartialZipFile

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

Extrair um único arquivo solicitado de um arquivo ZIP parcial.

Esse método pressupõe que todos os arquivos estão no mesmo disco quando compactados.

Se ERROR(/targetFile) for um diretório, um diretório vazio será criado sem o respectivo conteúdo.

Se ERROR(/targetFile) for um link simbólico, um link simbólico será criado, mas não resolvido.

Ele ainda não é compatível com os seguintes recursos:

Arquivo ZIP maior do que 4 GB

ZIP64(exige atualização do ZipLocalFileHeader no tamanho compactado)

Arquivo ZIP criptografado

Parâmetros
partialZip File: um ERROR(/File) que é uma parte do arquivo ZIP.

targetFile File: o ERROR(/File) em que o arquivo extraído será salvo.

zipEntry CentralDirectoryInfo: um objeto CentralDirectoryInfo do arquivo a ser extraído da parte ZIP.

localFileHeader LocalFileHeader: um objeto LocalFileHeader do arquivo a ser extraído do arquivo ZIP parcial.

startOffset long: deslocamento inicial do arquivo a ser extraído.

Gera
IOException

descompactarPastaZipParcial

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

Extraia a pasta solicitada de um arquivo ZIP parcial e aplique a permissão adequada.

Parâmetros
targetFile File: o ERROR(/File) em que o arquivo extraído será salvo.

zipEntry CentralDirectoryInfo: um objeto CentralDirectoryInfo do arquivo a ser extraído da parte ZIP.

Gera
IOException

Métodos protegidos

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Parâmetros
destDir File

filename String