Les archives GZip (.gz) sont utilisées pour compresser un ou plusieurs fichiers à l’aide de l’algorithme de compression zip GNU. Il est couramment utilisé pour la compression de fichiers dans les systèmes d’exploitation UNIX. Dans cet article, vous apprendrez à compresser des fichiers à l’aide de GZip (.gz) par programmation en C#. De plus, l’article expliquera également comment décompresser les archives GZip en C#.
- API .NET pour compresser et décompresser des fichiers à l’aide de GZip
- Compresser des fichiers à l’aide de GZip en C#
- Décompresser une archive GZip en C#
- Extraire une archive GZip dans Stream en C#
API C# pour compresser et décompresser des fichiers à l’aide de GZip
Pour compresser et décompresser des fichiers à l’aide de GZip, nous utiliserons Aspose.ZIP for .NET. Il s’agit d’une API puissante qui vous permet de travailler avec des formats d’archives populaires tels que ZIP, 7z, GZip, etc. Vous pouvez soit télécharger l’API ou l’installer à l’aide de [NuGet]. 8.
PM> Install-Package Aspose.Zip
Compresser des fichiers à l’aide de GZip en C#
Voici les étapes pour compresser des fichiers à l’aide de GZip en C#.
- Créez un objet de la classe GzipArchive.
- Utilisez la méthode GzipArchive.SetSource(String) pour ajouter un fichier à archiver.
- Créez une archive GZip à l’aide de la méthode GzipArchive.Save(String).
L’exemple de code suivant montre comment compresser des fichiers vers GZip en C#.
using (GzipArchive archive = new GzipArchive())
{
// définir la source
archive.SetSource("data.bin");
// créer une archive
archive.Save("archive.gz");
}
Décompresser une archive GZip en C#
Voici les étapes pour décompresser une archive GZip en C# en utilisant Aspose.ZIP for .NET.
- Créez un objet de la classe GzipArchive et initialisez-le avec le chemin de l’archive GZip.
- Créez un fichier pour le contenu extrait à l’aide de la méthode File.Create(String).
- Ouvrez GZip pour l’extraction à l’aide de la méthode GZipArchive.Open().
- Lisez le contenu extrait et écrivez-le dans le fichier.
L’exemple de code suivant montre comment décompresser une archive GZip à l’aide de C#.
// charger l'archive GZip
using (var archive = new GzipArchive("archive.gz"))
{
// créer un fichier
using (var extracted = File.Create("data.bin"))
{
// Archives ouvertes
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
// écrire dans un fichier
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Extraction d’une archive GZip dans Stream en C#
Vous pouvez également extraire une archive GZip dans un objet de flux de mémoire. Voici les étapes pour effectuer cette opération.
- Créez un nouvel objet MemoryStream.
- Créez un objet de la classe GzipArchive et initialisez-le avec le chemin de l’archive GZip.
- Extrayez GZip et copiez-le dans le flux de mémoire à l’aide de la méthode GZipArchive.Open().CopyTo(MemoryStream).
L’exemple de code suivant montre comment extraire une archive GZip dans un flux de mémoire à l’aide de C#.
// créer un flux de mémoire
var ms = new MemoryStream();
// charger l'archive GZip
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
// extraire et copier dans le flux de mémoire
archive.Open().CopyTo(ms);
Console.WriteLine(archive.Name);
}
Obtenez une licence API gratuite
Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans limitations d’évaluation.
Conclusion
Dans cet article, vous avez appris à compresser ou décompresser des fichiers à l’aide de GZip en C#. De plus, vous avez vu comment extraire un GZip pour diffuser par programme. Vous pouvez en savoir plus sur Aspose.ZIP for .NET en utilisant documentation. De plus, vous pouvez nous contacter pour nous faire part de vos questions via notre forum.