ZipUtil

public class ZipUtil
extends Object

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


Classe d'assistance pour les opérations liées à la compression

Résumé

Constructeurs publics

ZipUtil()

Méthodes publiques

static void addToZip(ZipOutputStream out, File file, List<String> relativePathSegs)

Ajoute de manière récursive le fichier donné et son contenu à ZipOutputStream.

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

Appliquez l'autorisation de fichier configurée dans l'entrée du répertoire central.

static void closeZip(ZipFile zipFile)

Fermez un ZipFile ouvert, en ignorant les exceptions.

static File createZip(File dir, String name)

Méthode utilitaire permettant de créer un fichier ZIP temporaire contenant le répertoire donné et tout son contenu.

static File createZip(File dir)

Méthode utilitaire permettant de créer un fichier ZIP temporaire contenant le répertoire donné et tout son contenu.

static File createZip(List<File> files)

Méthode utilitaire permettant de créer un fichier ZIP temporaire contenant les fichiers spécifiés

static File createZip(List<File> files, String name)

Méthode utilitaire permettant de créer un fichier ZIP temporaire contenant les fichiers spécifiés.

static void createZip(List<File> files, File zipFile)

Méthode utilitaire permettant de créer un fichier ZIP contenant les fichiers spécifiés

static void createZip(File dir, File zipFile)

Méthode utilitaire permettant de créer un fichier ZIP contenant le répertoire donné et tout son contenu.

static File extractFileFromZip(ZipFile zipFile, String filePath)

Méthode utilitaire permettant d'extraire un fichier spécifique d'un fichier ZIP dans un fichier temporaire

static void extractZip(ZipFile zipFile, File destDir)

Méthode utilitaire permettant d'extraire l'intégralité du contenu du fichier ZIP dans le répertoire indiqué

static void extractZip(ZipFile zipFile, File destDir, Predicate<ZipEntry> shouldExtract)

Méthode utilitaire permettant d'extraire le contenu du fichier ZIP dans le répertoire indiqué

static File extractZipToTemp(File zipFile, String nameHint)

Extraire un fichier ZIP dans un répertoire temporaire précédé d'une chaîne

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)

Obtenez la liste des {link CentralDirectoryInfo} pour les fichiers d'un fichier ZIP.

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

Obtenez la liste des {link CentralDirectoryInfo} pour les fichiers d'un fichier ZIP.

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)

Obtenez la liste des {link CentralDirectoryInfo} pour les fichiers d'un fichier ZIP.

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)

Obtenez la liste des {link CentralDirectoryInfo} pour les fichiers d'un fichier ZIP.

static void gzipFile(File file, File gzipFile)

Méthode d'assistance pour créer une version compressée d'un fichier unique.

static boolean isZipFileValid(File zipFile, boolean thorough)

Méthode utilitaire permettant de vérifier qu'un fichier ZIP n'est pas corrompu.

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

Extraire un seul fichier demandé à partir d'un fichier ZIP partiel

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

Extrayez le dossier demandé d'un fichier ZIP partiel et appliquez l'autorisation appropriée.

Méthodes protégées

static void validateDestinationDir(File destDir, String filename)

Constructeurs publics

ZipUtil

public ZipUtil ()

Méthodes publiques

addToZip

public static void addToZip (ZipOutputStream out, 
                File file, 
                List<String> relativePathSegs)

Ajoute de manière récursive le fichier donné et son contenu à ZipOutputStream.

Paramètres
out ZipOutputStream : ZipOutputStream

file File : File à ajouter au flux

relativePathSegs List : chemin d'accès relatif du fichier, y compris les séparateurs

Génère
IOException si l'ajout du fichier au fichier ZIP échoue.

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

Appliquez l'autorisation de fichier configurée dans l'entrée du répertoire central.

Paramètres
targetFile File : File pour laquelle définir l'autorisation.

zipEntry CentralDirectoryInfo : objet CentralDirectoryInfo contenant les autorisations d'accès au fichier.

Génère
IOException si vous ne parvenez pas à accéder au fichier.

closeZip

public static void closeZip (ZipFile zipFile)

Fermez un ZipFile ouvert, en ignorant les exceptions.

Paramètres
zipFile ZipFile : fichier à fermer

createZip

public static File createZip (File dir, 
                String name)

Méthode utilitaire permettant de créer un fichier ZIP temporaire contenant le répertoire donné et tout son contenu.

Paramètres
dir File : répertoire à compresser

name String : nom de base du fichier zip créé sans l'extension.

Renvoie
File un fichier ZIP temporaire File contenant le contenu du répertoire.

Génère
IOException en cas d'échec de la création du fichier ZIP ;

createZip

public static File createZip (File dir)

Méthode utilitaire permettant de créer un fichier ZIP temporaire contenant le répertoire donné et tout son contenu.

Paramètres
dir File : répertoire à compresser

Renvoie
File un fichier ZIP temporaire File contenant le contenu du répertoire.

Génère
IOException en cas d'échec de la création du fichier ZIP ;

createZip

public static File createZip (List<File> files)

Méthode utilitaire permettant de créer un fichier ZIP temporaire contenant les fichiers spécifiés

Paramètres
files List : liste des fichiers à compresser

Renvoie
File un fichier ZIP temporaire File contenant le contenu du répertoire.

Génère
IOException en cas d'échec de la création du fichier ZIP ;

createZip

public static File createZip (List<File> files, 
                String name)

Méthode utilitaire permettant de créer un fichier ZIP temporaire contenant les fichiers spécifiés.

Paramètres
files List : liste des fichiers à compresser

name String : nom de base du fichier zip créé sans l'extension.

Renvoie
File un fichier ZIP temporaire File contenant le contenu du répertoire.

Génère
IOException en cas d'échec de la création du fichier ZIP ;

createZip

public static void createZip (List<File> files, 
                File zipFile)

Méthode utilitaire permettant de créer un fichier ZIP contenant les fichiers spécifiés

Paramètres
files List : liste des fichiers à compresser

zipFile File : fichier ZIP à créer (il ne doit pas déjà exister)

Génère
IOException en cas d'échec de la création du fichier ZIP ;

createZip

public static void createZip (File dir, 
                File zipFile)

Méthode utilitaire permettant de créer un fichier ZIP contenant le répertoire donné et tout son contenu.

Paramètres
dir File : répertoire à compresser

zipFile File : fichier ZIP à créer (il ne doit pas déjà exister)

Génère
IOException en cas d'échec de la création du fichier ZIP ;

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

Méthode utilitaire permettant d'extraire un fichier spécifique d'un fichier ZIP dans un fichier temporaire

Paramètres
zipFile ZipFile : ZipFile à extraire

filePath String : chemin d'accès du fichier à extraire

Renvoie
File File ou null si elle est introuvable

Génère
IOException en cas d'échec de l'extraction du fichier.

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

Méthode utilitaire permettant d'extraire l'intégralité du contenu du fichier ZIP dans le répertoire indiqué

Paramètres
zipFile ZipFile : ZipFile à extraire

destDir File : répertoire local dans lequel extraire le fichier

Génère
IOException en cas d'échec de l'extraction du fichier.

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir, 
                Predicate<ZipEntry> shouldExtract)

Méthode utilitaire permettant d'extraire le contenu du fichier ZIP dans le répertoire indiqué

Paramètres
zipFile ZipFile : ZipFile à extraire

destDir File : répertoire local dans lequel extraire le fichier

shouldExtract Predicate : prédicat permettant de déterminer si une ZipEntry doit être extraite

Génère
IOException en cas d'échec de l'extraction du fichier.

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

Extraire un fichier ZIP dans un répertoire temporaire précédé d'une chaîne

Paramètres
zipFile File : fichier ZIP à extraire

nameHint String : préfixe du répertoire temporaire

Renvoie
File File pointant vers le répertoire temporaire

Génère
IOException
ZipException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset, 
                boolean useZip64)

Obtenez la liste des {link CentralDirectoryInfo} pour les fichiers d'un fichier ZIP.

Paramètres
partialZipFile File : objet File du fichier ZIP partiel contenant les entrées de répertoire central.

endCentralDirInfo EndCentralDirectoryInfo : objet EndCentralDirectoryInfo du fichier ZIP.

offset long : décalage dans le fichier ZIP partiel où commence le contenu des entrées du répertoire central.

useZip64 boolean : valeur booléenne permettant de prendre en charge le format zip64 lors du téléchargement partiel.

Renvoie
List<CentralDirectoryInfo> Liste des CentralDirectoryInfo du fichier ZIP

Génère
java.io.IOException
IOException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

Obtenez la liste des {link CentralDirectoryInfo} pour les fichiers d'un fichier ZIP.

Paramètres
partialZipFile File : objet File du fichier ZIP partiel contenant les entrées de répertoire central.

endCentralDirInfo EndCentralDirectoryInfo : objet EndCentralDirectoryInfo du fichier ZIP.

Renvoie
List<CentralDirectoryInfo> Liste des CentralDirectoryInfo du fichier ZIP

Génère
java.io.IOException
IOException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                boolean useZip64)

Obtenez la liste des {link CentralDirectoryInfo} pour les fichiers d'un fichier ZIP.

Paramètres
partialZipFile File : objet File du fichier ZIP partiel contenant les entrées de répertoire central.

endCentralDirInfo EndCentralDirectoryInfo : objet EndCentralDirectoryInfo du fichier ZIP.

useZip64 boolean : valeur booléenne permettant de prendre en charge le format zip64 lors du téléchargement partiel.

Renvoie
List<CentralDirectoryInfo> Liste des CentralDirectoryInfo du fichier ZIP

Génère
java.io.IOException
IOException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset)

Obtenez la liste des {link CentralDirectoryInfo} pour les fichiers d'un fichier ZIP.

Paramètres
partialZipFile File : objet File du fichier ZIP partiel contenant les entrées de répertoire central.

endCentralDirInfo EndCentralDirectoryInfo : objet EndCentralDirectoryInfo du fichier ZIP.

offset long : décalage dans le fichier ZIP partiel où commence le contenu des entrées du répertoire central.

Renvoie
List<CentralDirectoryInfo> Liste des CentralDirectoryInfo du fichier ZIP

Génère
java.io.IOException
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

Méthode d'assistance pour créer une version compressée d'un fichier unique.

Paramètres
file File : fichier d'origine

gzipFile File : fichier dans lequel placer le contenu compressé

Génère
java.io.IOException
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

Méthode utilitaire permettant de vérifier qu'un fichier ZIP n'est pas corrompu.

Paramètres
zipFile File : File à vérifier

thorough boolean : indique si l'archive doit être entièrement extraite. Si la valeur est false, cette méthode ne détectera pas les erreurs CRC dans une archive bien formée.

Renvoie
boolean false si le fichier semble corrompu, true dans le cas contraire

Génère
IOException si le fichier n'a pas pu être ouvert ni lu ;

unzipPartialZipFile

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

Extraire un seul fichier demandé à partir d'un fichier ZIP partiel

Cette méthode suppose que tous les fichiers se trouvent sur le même disque lors de la compression.

Si ERROR(/targetFile) est un répertoire, un répertoire vide sera créé sans son contenu.

Si ERROR(/targetFile) est un lien symbolique, un lien symbolique sera créé, mais pas résolu.

Elle n'est pas encore compatible avec les fonctionnalités suivantes :

Fichier ZIP de plus de 4 Go

ZIP64(nécessite la mise à jour de ZipLocalFileHeader sur la taille compressée)

Fichier ZIP chiffré

Paramètres
partialZip File : File qui est une partie du fichier ZIP.

targetFile File : File dans lequel enregistrer le fichier extrait.

zipEntry CentralDirectoryInfo : objet CentralDirectoryInfo du fichier à extraire du fichier ZIP partiel.

localFileHeader LocalFileHeader : objet LocalFileHeader du fichier à extraire du fichier ZIP partiel.

startOffset long : décalage de début du fichier à extraire.

Génère
java.io.IOException
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

Extrayez le dossier demandé d'un fichier ZIP partiel et appliquez l'autorisation appropriée.

Paramètres
targetFile File : File dans lequel enregistrer le fichier extrait.

zipEntry CentralDirectoryInfo : objet CentralDirectoryInfo du fichier à extraire du fichier ZIP partiel.

Génère
java.io.IOException
IOException

Méthodes protégées

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

Paramètres
destDir File

filename String

Génère
IOException