Aperçu

Nous pouvons diviser les outils d’archivage et de compression en trois classes principales :
- Archives avec plusieurs fichiers généralement avec une compression – ZIP, 7Z, XAR ;
- Stockage de plusieurs fichiers sans compression – TAR, CPIO ;
- Compression -formats uniquement sans entrées – GZ, LZ, BZIP2, XZ, ZStandard, Z.
Les archives de la deuxième classe sont souvent combinées avec des formats de compression uniquement. Ils sont populaires dans les systèmes de type Unix avec leurs opérations distinctes : une pour l’archivage, une autre pour la compression. Vous trouverez ci-dessous des explications et des exemples pour chaque type d’archive.

Archives compressées contenant plusieurs fichiers

Nous utilisons la méthode CreateEntry pour chaque fichier à compresser. Dans ces exemples, nous ne fournissons pas de paramètres de compression, ils seraient donc ceux par défaut pour le format choisi.

Comment compresser plusieurs fichiers

La valeur par défaut est l’algorithme Deflate

Zip compression with Deflate algoritm

    using (Archive archive = new Archive())
    {
        archive.CreateEntry("first.bin",  "data1.bin");
        archive.CreateEntry("second.bin",  "data2.bin");
        // Add as many entries as you need 
        archive.Save("archive.zip");	
    }

Comment créer des archives 7-ZIP de plusieurs fichiers

La valeur par défaut pour 7-zip est l’algorithme LZMA

7-Zip with LZMA algorithm

    using (SevenZipArchive archive = new SevenZipArchive())
    {
        archive.CreateEntry("first.bin",  "data1.bin");
        archive.CreateEntry("second.bin",  "data2.bin");	
        // Add as many entries as you need 	
        archive.Save("archive.7z");	
    }

Archive XAR avec plusieurs fichiers

La valeur par défaut est l’algorithme ZLib

XAR with ZLib algorithm

    using (XarArchive archive = new XarArchive())
    {
        archive.CreateEntry("first.bin",  "data1.bin");
        archive.CreateEntry("second.bin",  "data2.bin");
        // Add as many entries as you need 	
        archive.Save("archive.xar");	
    }

Stockage de plusieurs fichiers sans compression

L’approche pour les formats TAR et CPIO est similaire et repose sur la méthode CreateEntry déjà connue.

Archive TAR sans compression

TAR storing files without compression

    using (TarArchive archive = new TarArchive())
    {
        archive.CreateEntry("first.bin",  "data1.bin");
        archive.CreateEntry("second.bin",  "data2.bin");
        // Add as many entries as you need 
        archive.Save("archive.tar");
    }

Archive CPIO sans compression

CPIO storing files without compression

    using (TarArchive archive = new TarArchive())
    {
        archive.CreateEntry("first.bin",  "data1.bin");
        archive.CreateEntry("second.bin",  "data2.bin");
        // Add as many entries as you need 
        archive.Save("archive.cpio");
    }

Formats de compression uniquement sans entrées

Les archives telles que GZIP, LZ, BZIP2, XZ, Z ne prennent pas en charge les entrées et ne peuvent compresser qu’une seule source. Voir des échantillons avec une telle compression.

Archive GZ Formats de compression uniquement sans entrées

GZIP with compress only single source

using (FileStream source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
    using (GzipArchive archive = new GzipArchive())
    {
        archive.SetSource(source);
        archive.Save("archive.gz");
    }
}

Archive LZ Formats de compression uniquement sans entrées

LZIP with compress only single source

using (FileStream source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
    using (GzipArchive archive = new GzipArchive())
    {
        archive.SetSource(source);
        archive.Save("archive.gz");
    }
}

Aspose.ZIP permet de combiner les formats d’archive uniquement et de compression uniquement avec une seule méthode. Voici un exemple de cette fonctionnalité avec la combinaison TAR.GZ. Pour y parvenir, nous utilisons la méthode SaveGzipped.

Combinaison TAR.GZ

Il existe des méthodes similaires pour les formats de compression LZIP, XZ, ZStandard et Z.

TAR.GZ with SaveGzipped method

    using (TarArchive archive = new TarArchive())
    {
        archive.CreateEntry("first.bin",  "data1.bin");
        archive.CreateEntry("second.bin",  "data2.bin");
        archive.SaveGzipped("archive.tar.gz");
    }

TAR.BZ2

Cependant nous devons utiliser une autre approche pour le format BZIP2.

BZIP2 with SaveGzipped method

    using (TarArchive tar = new TarArchive())
    {
        tar.CreateEntry("first.bin",  "data1.bin");
        tar.CreateEntry("second.bin",  "data2.bin");	
        using (Bzip2Archive archive = new Bzip2Archive())
        {
            archive.SetSource(tar);
            archive.Save("archive.tar.bz2");
        } 
    }

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

Utilisez la bibliothèque Aspose.ZIP C# pour convertir, fusionner, modifier des documents au format zip, extraire des données des archives, et bien plus encore !

  

Support and Learning Resources

  
  

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