COMPARAISON AVEC D'AUTRES COMPOSANTS

Tutoriel sur les archives Zip pour les développeurs C# utilisant IronXL

Publié février 5, 2025
Partager:

Introduction à ZipArchive

Chaque fois que vous pensez à envoyer un fichier dans un format compressé, la première chose qui vient à l'esprit est généralement une archive Zip. Une archive zip est un format populaire pour compresser et regrouper un fichier unique ou une collection entière dans une seule archive. Cependant, lorsqu'il s'agit de volumes importants de fichiers à compresser, travailler avec eux peut devenir frustrant car vous devrez les archiver et les formater un par un. Mais ça ne doit pas être comme ça. Les tâches de grande valeur nécessitent une automatisation effectuée de manière programmatique. Nous pouvons utiliser IronZIP, une bibliothèque simple mais intuitive, pour réaliser tout cela et bien plus encore.

Dans cet article, nous aborderons brièvement les caractéristiques et les fonctionnalités principales d'IronZIP et comment il peut vous aider à mieux automatiser votre flux de travail, augmenter l'efficacité et éliminer les tâches manuelles sujettes aux erreurs.

Créer un nouveau fichier zip à partir d'un dossier ou de fichiers

Voici un exemple qui prend cinq fichiers, les compresse en une archive et les exporte après l'opération. Tous les exemples de cet article sont encapsulés dans le static void main pour éviter la répétition du code.

using IronZip;

// Create an empty ZIP
using (var archive = new IronZipArchive())
{
    // Add files to the ZIP
    archive.Add("./assets/image1.jpg");
    archive.Add("./assets/image2.jpg");
    archive.Add("./assets/image3.jpg");

    // Export the ZIP
    archive.SaveAs("output.zip");
}
using IronZip;

// Create an empty ZIP
using (var archive = new IronZipArchive())
{
    // Add files to the ZIP
    archive.Add("./assets/image1.jpg");
    archive.Add("./assets/image2.jpg");
    archive.Add("./assets/image3.jpg");

    // Export the ZIP
    archive.SaveAs("output.zip");
}
Imports IronZip

' Create an empty ZIP
Using archive = New IronZipArchive()
	' Add files to the ZIP
	archive.Add("./assets/image1.jpg")
	archive.Add("./assets/image2.jpg")
	archive.Add("./assets/image3.jpg")

	' Export the ZIP
	archive.SaveAs("output.zip")
End Using
$vbLabelText   $csharpLabel
  1. Nous importons d'abord IronZIP.

  2. Ensuite, en utilisant IronZIP, nous créons une archive.

  3. Nous appelons ensuite archive.add()` et ajouter plusieurs fichiers à l'archive. Souvenez-vous que les noms de chemin doivent être des chemins absolus, sinon l'opération échouera à trouver les fichiers correspondants.

  4. Enfin, nous appelons `archive.SaveAs()` et exportez l'archive zip sous le nom `output.zip.`

Mise à jour d'un fichier zip existant avec de nouveaux fichiers ou des modifications

Passons à un autre exemple ; Cette fois, nous allons modifier l'archive zip existante avec de nouveaux fichiers pour mettre en avant la fonctionnalité d'IronZIP.

using IronZip;

// Open an existing ZIP
using (var archive = IronZipArchive.FromFile("existing.zip"))
{
    // Add files
    archive.Add("./assets/image3.png");
    archive.Add("./assets/image4.png");

    // Export the ZIP
    archive.SaveAs("result.zip");
}
using IronZip;

// Open an existing ZIP
using (var archive = IronZipArchive.FromFile("existing.zip"))
{
    // Add files
    archive.Add("./assets/image3.png");
    archive.Add("./assets/image4.png");

    // Export the ZIP
    archive.SaveAs("result.zip");
}
Imports IronZip

' Open an existing ZIP
Using archive = IronZipArchive.FromFile("existing.zip")
	' Add files
	archive.Add("./assets/image3.png")
	archive.Add("./assets/image4.png")

	' Export the ZIP
	archive.SaveAs("result.zip")
End Using
$vbLabelText   $csharpLabel
  1. Nous importons d'abord IronZIP.

  2. Ensuite, en utilisant IronZIP, nous créons une archive, mais cette fois-ci, nous importons le fichier zip existant avec IronZipArchive.FromFile()`.

  3. Nous appelons ensuite archive.add()et ajoutez les fichiers souhaités à l'archive. N'oubliez pas que les noms de chemin doivent être des chemins absolus, sinon l'opération échouera à trouver le fichier existant. Sinon, séparez cette étape avec un nom de fichier chaîne de variable pour un seul fichier pour une lecture plus facile.

  4. Enfin, nous appelons `archive.SaveAs()` et exportez l'archive zip sous le nom `result.zip.`

    Comme vous pouvez le voir dans le code ci-dessus, l'opération et le format sont similaires à ceux utilisés pour créer et ajouter des fichiers à un fichier Zip. La principale différence est que nous importons le fichier zip à la place, ce qui montre la fonctionnalité simple mais intuitive d'IronZIP.

Extraction de fichiers d'une archive Zip

Nous pouvons également utiliser IronZIP pour extraire des fichiers d'une archive Zip ou d'un package Zip, comme dans les exemples ci-dessus ; examinons-le dans un autre exemple.

using IronZip;

// Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
using IronZip;

// Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
Imports IronZip

' Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted")
$vbLabelText   $csharpLabel

Nous importons IronZip et appelons `IronZipArchive.ExtractArchieveToDirectory`; La méthode fait exactement ce qui est indiqué et extrait uniquement le contenu de l'archive zip existante vers le répertoire fourni.

De plus, dans les cas où vous devez gérer des archives zip protégées par mot de passe, nous pourrions également utiliser une autre méthode pour extraire les archives.

using IronZip;
using IronZip.Enum;

// Extract protected ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd");
using IronZip;
using IronZip.Enum;

// Extract protected ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd");
Imports IronZip
Imports IronZip.Enum

' Extract protected ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd")
$vbLabelText   $csharpLabel

Finalement, nous passons un autre paramètre : le mot de passe de l'archive zip protégée. Le reste de l'opération est le même que le code ci-dessus.

Sujets avancés et meilleures pratiques

Les exemples de code ajoutant, extrayant et créant ci-dessus sont les plus courants lorsque vous traitez avec des archives zip. Cependant, dans d'autres cas nécessitant une utilisation plus avancée, comme l'extraction d'autres formats ou simplement la visualisation du contexte de l'archive, IronZIP vous couvre et au-delà.

Fonctionnalités avancées d'IronZIP

  • Compatibilité croisée : IronZIP est compatible avec une large gamme de versions .NET, y compris .NET Core(8.7, 6.5, and 3.1+), Standard (2.0+)et le Framework .NET(4.6.2+). La bibliothèque fonctionne également sur le Web(Blazor)mobile(MAUI), Desktop(WPF), et Console. Cela permet aux développeurs de vraiment transcender les limitations des plateformes et des versions.
  • Génération d'archives : Les exemples ci-dessus se concentrent principalement sur le format d'archive ZIP ; cependant, IronZIP fonctionne également avec TAR, GZIP et BZIP2.
  • Extraction des archives : extrayez des archives et décompressez des fichiers avec IronZip en un seul bloc de code, comme illustré ci-dessus.
  • Ajout de fichiers et de systèmes de fichiers : IronZIP vous aide également à manipuler les archives ZIP dans leur intégralité, en ajoutant des images, des fichiers texte, des documents tels que des PDF, DOCX et XLSX, ainsi que des fichiers audio tels que MP3 et WAV. Vous pouvez même ajouter un système de fichiers compressé entier ou un fichier texte compressé pour créer une archive ZipArchive.
  • Export et Créer : En plus de créer une archive Zip essentielle, vous pouvez la protéger par mot de passe avec des normes traditionnelles ou AES128 et AES256. Vous pouvez également générer et exporter des formats tels que TAR, GZIP et BZIP2, qui sont mentionnés ci-dessus.
  • Niveau de compression personnalisé : IronZIP possède des fichiers de compression personnalisés et permet aux développeurs de modifier les paramètres de l'algorithme de compression pour l'ajuster à leurs besoins.
  • Édition des Archives : Ajoutez des entrées de fichiers, extrayez des archives et supprimez des entrées de fichiers facilement avec IronZIP, une solution unique pour toutes les opérations liées à l'édition avec les archives.
  • Propriétés d'entrée de fichier : IronZIP vous permet de définir un commentaire d'archive optionnel et d'obtenir les noms de fichiers des fichiers dans l'archive sans les extraire, ce qui aide à laisser des commentaires spécifiés pour chaque fichier.
  • Choix de licences : IronZIP offre des solutions adaptableschoix de licence, y compris des versions d'essai gratuites, permettant aux développeurs de choisir ce qui correspond le mieux à leurs besoins.

Conclusion

Gérer des fichiers compressés et des archives est une tâche quotidienne que les développeurs doivent tous accomplir, mais traiter un grand volume d'entre eux peut être stressant et causer des erreurs humaines. Bien qu'il existe des options comme System.IO.Compression, en utilisant IronZIP, vous pouvez atteindre plus et résoudre rapidement vos problèmes lors de la gestion des archives compressées. Dans l'article, nous discutons brièvement des fonctionnalités avancées d'IronZIP et des opérations de base qui peuvent souvent se produire dans des scénarios quotidiens, que ce soit pour créer une archive zip, supprimer des entrées dans l'archive zip ou ajouter d'autres fichiers. Comprendre comment les réaliser par programmation avec IronZIP conduit à une efficacité et une évolutivité accrues, ainsi qu'à l'automatisation de toutes les tâches liées aux archives.

Regan Pun

Regan Pun

Ingénieur logiciel

 LinkedIn

Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT
Comparaison entre IronXL et GemBox.Spreadsheet
SUIVANT >
EPPlus Read Excel to Datatable C# (IronXL Tutorial)