Overview

Les archives constituées d'entrées ont la méthode createEntries pour compresser un dossier entier. De telles méthodes respectent la structure des répertoires et composent de manière récurrente pour tous les sous-dossiers. Vous pouvez également ajouter une seule entrée de fichier dans un sous-dossier arbitraire n'importe où dans l'archive.

Comment compresser un dossier

Si vous souhaitez créer une archive ZIP à partir d’un dossier entier tout en préservant la structure, vous pouvez utiliser l’API Aspose.Zip pour Java et le code suivant. La construction try-with-resources ferme automatiquement la ressource Archive une fois que tout le code a été exécuté, que tous les fichiers soient correctement fermés ou non. Le chemin spécifié dans l’objet File corpus indique le dossier qui sera compressé. Avec createEntries, chaque élément de l’archive est ajouté séparément, préservant ainsi la structure originale, qui est stockée dans un fichier appelé archive.zip. Il est important de noter que le code ne vérifie pas l’existence des données « D » ; dossier ou la présence de fichiers dedans. Si le répertoire n’existe pas ou est vide, le code ne créera aucune archive. La méthode
CreateEntries a un deuxième paramètre facultatif includeRootDirectory qui indique si le répertoire racine doit être inclus dans l’archive. La valeur par défaut est vraie, donc dans l’exemple ci-dessus, toutes les entrées d’archive seront situées dans « Données » ; dossier. Si vous souhaitez que seul le contenu du répertoire soit ajouté, transmettez-y false.
Exemple - Créer une archive à partir du dossier :

    try (Archive archive = new Archive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.zip");
    }

L’exemple de code suivant crée une archive ZIP avec deux fichiers : "image.bmp" et "lyrics.txt". Les variables fi1 et fi2 représentent ces fichiers. Le createEntry La méthode de l’objet archive est utilisée pour ajouter chaque fichier à l’archive avec les chemins spécifiés : "données\images" pour "image.bmp" ;text" pour "lyrics.txt". En résumé, ce code crée une archive ZIP nommée "archive.zip" contenant deux dossiers, "data\pictures&». #34; et « données » texte », chacun contenant l’un des fichiers respectifs.

    try (Archive archive = new Archive()) {
        File fi1 = new File("image.bmp");
        File fi2 = new File("lyrics.txt");
        archive.createEntry("data\\pictures\\photo.bmp", fi1);
        archive.createEntry("data\\text\\song.txt", fi2);
        archive.save("archive.zip");
    }

Comment compresser un dossier dans 7-ZIP en respectant sa structure

Le code suivant montre comment créer une archive 7Z et y ajouter tous les fichiers et dossiers du répertoire spécifié. Cela fonctionne de la même manière qu’une archive au format de fichier ZIP. CreateEntries est la méthode analogique de l’archive 7Z. Il possède également le paramètre includeRootDirectory. Important: sera implémenté dans Aspose.ZIP pour Java 24.4

    try (SevenZipArchive archive = new SevenZipArchive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.7z");
    }

Comment compresser un dossier dans TAR tout en conservant sa structure

Le code crée une archive TAR pour le répertoire spécifié. Il utilise la classe TarArchive de l’API Java Archive pour y parvenir. La méthode createEntries ajoute tous les fichiers et dossiers du répertoire à l’archive, en préservant la structure des répertoires. Enfin, la méthode save écrit le contenu de l’archive dans le fichier «archive.tar».
Échantillon:

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.save("archive.tar");
    }

Le code fourni crée une archive TAR nommée « archive.tar ». contenant deux entrées. Directory Archive - Il ajoute tous les fichiers et dossiers du répertoire "D:\Data" à l’archive, en préservant la structure des répertoires. Cela archive efficacement tout le contenu du répertoire spécifié. Et entrée de fichier unique - Il ajoute un fichier spécifique nommé «data.bin» de l’intérieur sous-dossier à l’archive. Cela permet d’inclure un fichier particulier sans archiver la structure entière des répertoires. En résumé, ce code crée une archive TAR qui combine à la fois l’archivage au niveau du répertoire et l’inclusion de fichiers individuels.
Exemple 2 – Combinez le répertoire d’archivage et le fichier unique

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.createEntry("inner\\data.bin", "data.bin");
        archive.save("archive.tar");
    }

Autres fonctionnalités de l'API Aspose.ZIP pour Java prises en charge

Avec la bibliothèque Aspose.ZIP en Java, vous pouvez gérer de manière transparente diverses tâches liées aux documents de fichiers ZIP. Que vous ayez besoin de convertir des formats, de fusionner des fichiers, de modifier du contenu ou d'extraire des données, Aspose.ZIP fournit des fonctionnalités complètes pour rationaliser votre flux de travail et améliorer votre productivité.

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: