ZipUtil
public
class
ZipUtil
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.util.ZipUtil
|
Uma classe auxiliar para operações relacionadas à compactação.
Resumo
Métodos públicos |
static
void
|
addToZip(ZipOutputStream out, File file, List<String> relativePathSegs)
Adiciona recursivamente o arquivo e o conteúdo dele ao ZipOutputStream.
|
static
void
|
applyPermission(File targetFile, CentralDirectoryInfo zipEntry)
Aplicar a permissão de arquivo configurada na entrada do diretório central.
|
static
void
|
closeZip(ZipFile zipFile)
Fecha um ZipFile aberto, ignorando exceções.
|
static
File
|
createZip(File dir, String name)
Método utilitário para criar um arquivo ZIP temporário contendo o diretório especificado e
todo o conteúdo dele.
|
static
File
|
createZip(File dir)
Método utilitário para criar um arquivo ZIP temporário contendo o diretório especificado e
todo o conteúdo dele.
|
static
File
|
createZip(List<File> files)
Método utilitário para criar um arquivo ZIP temporário com os arquivos especificados.
|
static
File
|
createZip(List<File> files, String name)
Método utilitário para criar um arquivo ZIP temporário com os arquivos especificados.
|
static
void
|
createZip(List<File> files, File zipFile)
Método utilitário para criar um arquivo ZIP com os arquivos especificados.
|
static
void
|
createZip(File dir, File zipFile)
Método utilitário para criar um arquivo ZIP que contenha o diretório especificado e
todo o conteúdo dele.
|
static
File
|
extractFileFromZip(ZipFile zipFile, String filePath)
Método utilitário para extrair um arquivo específico de um arquivo ZIP para um arquivo temporário.
|
static
void
|
extractZip(ZipFile zipFile, File destDir)
Método utilitário para extrair todo o conteúdo do arquivo ZIP para o diretório especificado.
|
static
void
|
extractZip(ZipFile zipFile, File destDir, Predicate<ZipEntry> 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
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)
Receba uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo ZIP.
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)
Receba uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo ZIP.
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)
Receba uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo ZIP.
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)
Receba 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 compactada com 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.
|
Construtores públicos
ZipUtil
public ZipUtil ()
Métodos públicos
addToZip
public static void addToZip (ZipOutputStream out,
File file,
List<String> relativePathSegs)
Adiciona recursivamente o arquivo e o conteúdo dele ao ZipOutputStream.
| Parâmetros |
out |
ZipOutputStream: o ZipOutputStream |
file |
File: o File a ser adicionado ao fluxo |
relativePathSegs |
List: o caminho relativo do arquivo, incluindo separadores |
| Gera |
IOException |
se não for possível adicionar o arquivo ao ZIP |
applyPermission
public static void applyPermission (File targetFile,
CentralDirectoryInfo zipEntry)
Aplicar a permissão de arquivo configurada na entrada do diretório central.
| Parâmetros |
targetFile |
File: o File para definir a permissão. |
zipEntry |
CentralDirectoryInfo: um objeto CentralDirectoryInfo que contém as permissões de arquivo. |
| Gera |
IOException |
se não for possível acessar o arquivo. |
closeZip
public static void closeZip (ZipFile zipFile)
Fecha um ZipFile aberto, ignorando exceções.
| Parâmetros |
zipFile |
ZipFile: o arquivo a ser fechado |
createZip
public static File createZip (File dir,
String name)
Método utilitário para criar um arquivo ZIP temporário contendo o diretório especificado e
todo o conteúdo dele.
| 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 zip temporário File com o conteúdo do diretório |
| Gera |
IOException |
se não for possível criar o arquivo ZIP |
createZip
public static File createZip (File dir)
Método utilitário para criar um arquivo ZIP temporário contendo o diretório especificado e
todo o conteúdo dele.
| Parâmetros |
dir |
File: o diretório a ser compactado |
| Retorna |
File |
um zip temporário File com o conteúdo do diretório |
| Gera |
IOException |
se não for possível criar o arquivo ZIP |
createZip
public static File createZip (List<File> files)
Método utilitário para criar um arquivo ZIP temporário com os arquivos especificados.
| Parâmetros |
files |
List: lista de arquivos a serem compactados |
| Retorna |
File |
um zip temporário File com o conteúdo do diretório |
| Gera |
IOException |
se não for possível criar o arquivo ZIP |
createZip
public static File createZip (List<File> files,
String name)
Método utilitário para criar um arquivo ZIP temporário com os arquivos especificados.
| Parâmetros |
files |
List: lista de arquivos a serem compactados |
name |
String: o nome base do arquivo ZIP criado sem a extensão. |
| Retorna |
File |
um zip temporário File com o conteúdo do diretório |
| Gera |
IOException |
se não for possível criar o arquivo ZIP |
createZip
public static void createZip (List<File> files,
File zipFile)
Método utilitário para criar um arquivo ZIP com os arquivos especificados.
| Parâmetros |
files |
List: lista de arquivos a serem compactados |
zipFile |
File: o arquivo ZIP a ser criado. Ele não pode existir. |
| Gera |
IOException |
se não for possível criar o arquivo ZIP |
createZip
public static void createZip (File dir,
File zipFile)
Método utilitário para criar um arquivo ZIP que contenha o diretório especificado e
todo o conteúdo dele.
| Parâmetros |
dir |
File: o diretório a ser compactado |
zipFile |
File: o arquivo ZIP a ser criado. Ele não pode existir. |
| Gera |
IOException |
se não for possível criar o arquivo ZIP |
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 temporário.
| Parâmetros |
zipFile |
ZipFile: o ZipFile a ser extraído |
filePath |
String: o caminho do arquivo a ser extraído |
| Retorna |
File |
o File ou nulo se não for encontrado |
| Gera |
IOException |
se houver falha ao extrair o arquivo |
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 especificado.
| Parâmetros |
zipFile |
ZipFile: o ZipFile a ser extraído |
destDir |
File: o diretório local para extrair o arquivo |
| Gera |
IOException |
se houver falha ao extrair o arquivo |
public static void extractZip (ZipFile zipFile,
File destDir,
Predicate<ZipEntry> shouldExtract)
Método utilitário para extrair o conteúdo do arquivo ZIP para o diretório especificado.
| Parâmetros |
zipFile |
ZipFile: o ZipFile a ser extraído |
destDir |
File: o diretório local para extrair o arquivo |
shouldExtract |
Predicate: o predicado para determinar se um ZipEntry precisa ser extraído. |
| Gera |
IOException |
se houver falha ao extrair o arquivo |
public static File extractZipToTemp (File zipFile,
String nameHint)
Extrair um arquivo ZIP para um diretório temporário com uma string
| Parâmetros |
zipFile |
File: o arquivo ZIP a ser extraído |
nameHint |
String: um prefixo para o diretório temporário |
| Retorna |
File |
um File que aponta para o diretório temporário |
| Gera |
IOException |
|
ZipException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset,
boolean useZip64)
Receba uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo ZIP.
| Parâmetros |
partialZipFile |
File: um objeto File do arquivo ZIP parcial que contém entradas do diretório
central. |
endCentralDirInfo |
EndCentralDirectoryInfo: um objeto EndCentralDirectoryInfo do arquivo ZIP. |
offset |
long: o ajuste de horário no arquivo ZIP parcial em que o conteúdo das entradas do diretório central
começa. |
useZip64 |
boolean: um booleano para oferecer suporte ao formato zip64 no download parcial. |
| Gera |
|
java.io.IOException |
IOException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)
Receba uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo ZIP.
| Parâmetros |
partialZipFile |
File: um objeto File do arquivo ZIP parcial que contém entradas do diretório
central. |
endCentralDirInfo |
EndCentralDirectoryInfo: um objeto EndCentralDirectoryInfo do arquivo ZIP. |
| Gera |
|
java.io.IOException |
IOException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
boolean useZip64)
Receba uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo ZIP.
| Parâmetros |
partialZipFile |
File: um objeto File do arquivo ZIP parcial que contém entradas do diretório
central. |
endCentralDirInfo |
EndCentralDirectoryInfo: um objeto EndCentralDirectoryInfo do arquivo ZIP. |
useZip64 |
boolean: um booleano para oferecer suporte ao formato zip64 no download parcial. |
| Gera |
|
java.io.IOException |
IOException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset)
Receba uma lista de {link CentralDirectoryInfo} para arquivos em um arquivo ZIP.
| Parâmetros |
partialZipFile |
File: um objeto File do arquivo ZIP parcial que contém entradas do diretório
central. |
endCentralDirInfo |
EndCentralDirectoryInfo: um objeto EndCentralDirectoryInfo do arquivo ZIP. |
offset |
long: o ajuste de horário no arquivo ZIP parcial em que o conteúdo das entradas do diretório central
começa. |
| Gera |
|
java.io.IOException |
IOException |
|
gzipFile
public static void gzipFile (File file,
File gzipFile)
Método auxiliar para criar uma versão compactada com 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 |
|
java.io.IOException |
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 File a ser verificado |
thorough |
boolean: indica se é preciso tentar extrair o arquivo por completo. Se false, esse
método não vai detectar erros de CRC em um arquivo bem formado. |
| Retorna |
boolean |
false se o arquivo parecer estar corrompido. Caso contrário, true. |
| Gera |
IOException |
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 conteúdo dele.
Se ERROR(/targetFile) for um symlink, um symlink será criado, mas não resolvido.
Ele ainda não é compatível com os seguintes recursos:
Arquivo ZIP maior que 4 GB
ZIP64(requer atualização de ZipLocalFileHeader no tamanho compactado)
Arquivo ZIP criptografado
| Parâmetros |
partialZip |
File: um File que é uma parte do arquivo ZIP. |
targetFile |
File: o File em que o arquivo extraído será salvo. |
zipEntry |
CentralDirectoryInfo: um objeto CentralDirectoryInfo do arquivo a ser extraído do arquivo ZIP
parcial. |
localFileHeader |
LocalFileHeader: um objeto LocalFileHeader do arquivo a ser extraído do
arquivo ZIP parcial. |
startOffset |
long: início do deslocamento do arquivo a ser extraído. |
| Gera |
|
java.io.IOException |
IOException |
|
unzipPartialZipFolder
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 File em que o arquivo extraído será salvo. |
zipEntry |
CentralDirectoryInfo: um objeto CentralDirectoryInfo do arquivo a ser extraído do arquivo ZIP
parcial. |
| Gera |
|
java.io.IOException |
IOException |
|
Métodos protegidos
validateDestinationDir
protected static void validateDestinationDir (File destDir,
String filename)
| Parâmetros |
destDir |
File |
filename |
String |