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
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for .NET?
- Customers List
- Success Stories