UTILISATION D'IRONZIP

Comment décompresser un fichier dans un répertoire en C#

Chaknith Bin
Chaknith Bin
mars 6, 2024
Partager:

Décompresser des fichiers par programme est une tâche courante dans le développement logiciel, notamment lorsqu'il s'agit de gérer des archives compressées. Dans cet article, nous explorerons comment extraire des fichiers à partir d'archives ZIP en C# en utilisant la bibliothèque IronZIP.

Que vous travailliez sur une application Windows ou sur un projet .NET, la compréhension du processus de décompression des fichiers peut s'avérer précieuse. Plongeons dans ce domaine et apprenons à gérer efficacement les fichiers ZIP dans votre base de code C#.

Ce que cet article va expliquer :

  1. Le processus d'installation de la bibliothèque IronZIP

  2. Comment extraire une archive ZIP

  3. Comment extraire une archive ZIP protégée par un mot de passe ?

  4. Comment créer un fichier ZIP

  5. Comment créer des fichiers ZIP protégés par un mot de passe ?

Pourquoi décompresser des fichiers ?

Les fichiers ZIP, également connus sous le nom d'archives ZIP, sont des regroupements de plusieurs fichiers dans un seul conteneur compressé. La décompression de ces fichiers consiste à extraire les données compressées et à les restaurer dans leur état d'origine. Ce processus est essentiel lorsque vous devez accéder à des données ou les manipuler au sein d'une application C#. IronZIP simplifie cette tâche en proposant des méthodes simples de gestion des données compressées.

Qu'est-ce qu'IronZIP ?

IronZIP est une bibliothèque ZIP C# puissante qui facilite la création, la lecture et l'extraction d'archives dans les applications .NET. Que vous ayez besoin de compresser des fichiers, d'extraire des données d'archives existantes ou de gérer vos fichiers ZIP, IronZIP fournit une API conviviale pour réaliser ces tâches efficacement. IronZIP simplifie l'utilisation des archives ZIP dans vos applications .NET.

Il prend en charge différents formats d'archives, notamment ZIP, TAR, GZIP et BZIP2. IronZIP est multiplateforme, compatible avec .NET Core, .NET Standard et .NET Framework. Et il offre des fonctionnalités avancées telles que des archives protégées par mot de passe, des niveaux de compression personnalisables et la gestion des entrées de fichiers.

Comment extraire des fichiers dans un répertoire en C# ;

Je vais maintenant aborder quelques exemples d'extraction à partir de fichiers ZIP en C#. Commencez par créer un nouveau projet C# dans Visual Studio. Choisissez le type de projet approprié (par exemple, Application Console, Windows Forms, ASP.NET Core, etc.). Ensuite, nous devons installer le IronZIP NuGet Package.

Installation d'IronZIP via le gestionnaire de paquets NuGet

Pour installer le paquetage NuGet IronZIP, vous pouvez utiliser la commande suivante dans la console du gestionnaire de paquets :

Install-Package IronZip

Vous pouvez également utiliser l'interface utilisateur du gestionnaire de paquets dans Visual Studio pour rechercher et installer le paquet IronZIP.

Dans votre code C#, importez l'espace de noms IronZIP pour accéder à ses classes et méthodes.

using IronZip;
using IronZip;
Imports IronZip
$vbLabelText   $csharpLabel

Exemple de code pour extraire des fichiers ZIP en C# ;

Le code suivant décompresse les fichiers dans le répertoire en C#.

IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");
IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");
IronZipArchive.ExtractArchiveToDirectory("E:\Images.zip", "Extracted Images")
$vbLabelText   $csharpLabel

Le code ci-dessus lit le fichier ZIP spécifié ("E:\Images.zip"), décompresse son contenu et place les fichiers extraits dans le répertoire nommé "Images extraites". L'explication est la suivante :

Explication

IronZipArchive fait référence à la classe fournie par la bibliothèque IronZIP. C'est le principal point d'entrée pour travailler avec des archives ZIP dans votre code C#. ExtractArchiveToDirectory(...) est une méthode (ou fonction) fournie par la classe IronZipArchive. Il vous permet d'extraire le contenu d'une archive ZIP (dans ce cas, le fichier "E:\Images.zip") vers un répertoire spécifié (dans ce cas, le répertoire nommé "Extracted Images").

La méthode prend deux paramètres : Le premier paramètre (@"E:\Images.zip") est le chemin vers le fichier ZIP que vous souhaitez extraire. Le deuxième paramètre ("Extracted Images") est le répertoire où vous souhaitez extraire les fichiers de l'archive ZIP.

Le système de fichiers extrait est le suivant :

Sortie :

Comment décompresser un fichier dans un répertoire en C#: Figure 1 - Fichiers extraits dans le répertoire Images extraites

Comment extraire un fichier ZIP protégé par un mot de passe ?

IronZIP offre la méthode la plus simple pour extraire des fichiers ZIP chiffrés. Le code suivant illustre l'exemple de l'extraction de tous les fichiers d'un fichier zippé protégé par un mot de passe.

IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");
IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");
IronZipArchive.ExtractArchiveToDirectory("EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd")
$vbLabelText   $csharpLabel

Le code ci-dessus extrait le contenu de l'archive "EncryptedImages.zip" dans le répertoire "ExtractedImages" à l'aide d'IronZIP. Il spécifie également le mot de passe "zipP@55w0rd" pour le décryptage, indiquant que le fichier ZIP est crypté et nécessite le mot de passe fourni pour l'extraction. Il écrasera les fichiers existants.

Sortie :

Comment extraire un fichier dans un répertoire en C#: Figure 2 - Fichiers protégés par mot de passe extraits dans le répertoire Images extraites

En C# avec IronZIP, la décompression d'un fichier dans un répertoire implique d'exploiter au maximum les capacités de la bibliothèque IronZIP. En utilisant des fonctions telles que IronZipArchive.ExtractArchiveToDirectory, les développeurs peuvent facilement extraire des fichiers compressés, en fournissant un mécanisme simple pour manipuler l'en-tête du fichier local. Il fournit un moyen efficace de mettre à jour les fichiers zip et RAR dans leurs applications.

IronZIP propose également des méthodes pour créer des fichiers ZIP dans les applications C# et .NET. Créons une archive ZIP en C#.

Comment créer une archive ZIP

L'exemple de code suivant crée une archive ZIP.

static void Main(string[] args)
{
    using (var archive = new IronZipArchive(9))
    {
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
        archive.Add(@"E:\Images\image3.png");
        archive.Add(@"E:\Images\image4.png");
        // Export the ZIP
        archive.SaveAs("MyImages.zip");
    }
}
static void Main(string[] args)
{
    using (var archive = new IronZipArchive(9))
    {
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
        archive.Add(@"E:\Images\image3.png");
        archive.Add(@"E:\Images\image4.png");
        // Export the ZIP
        archive.SaveAs("MyImages.zip");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le code ci-dessus démontre l'utilisation de IronZIP pour créer une nouvelle archive ZIP (avec un niveau de compression 9) et ajouter plusieurs entrées, chacune représentant un fichier image (image1.png, image2.png, image3.png, et image4.png) à partir des chemins de fichiers spécifiés.

Enfin, la méthode SaveAs est utilisée pour exporter l'archive ZIP créée sous le nom de "MyImages.zip" dans le répertoire spécifié. Le niveau de compression 9 indique une compression maximale, ce qui se traduit par des fichiers plus petits mais des temps de traitement potentiellement plus longs.

Comment décompresser un fichier dans un répertoire en C#: Figure 3 - L'archive ZIP produite par le code précédent

Comment créer une archive ZIP protégée par un mot de passe ?

Le code suivant crée un fichier zip protégé par un mot de passe.

using (var archive = new IronZipArchive(9))
    {
        // Password protect the ZIP (Support AES128 & AES256)
        archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
       // Export the ZIP
        archive.SaveAs("PasswordProtectedImages.zip");
    }
using (var archive = new IronZipArchive(9))
    {
        // Password protect the ZIP (Support AES128 & AES256)
        archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
       // Export the ZIP
        archive.SaveAs("PasswordProtectedImages.zip");
    }
Using archive = New IronZipArchive(9)
		' Password protect the ZIP (Support AES128 & AES256)
		archive.Encrypt("miPassw0rd", EncryptionMethods.AES256)
		archive.Add("E:\Images\image1.png")
		archive.Add("E:\Images\image2.png")
	   ' Export the ZIP
		archive.SaveAs("PasswordProtectedImages.zip")
End Using
$vbLabelText   $csharpLabel

Le code ci-dessus montre l'utilisation de IronZIP pour créer une archive ZIP protégée par mot de passe avec une méthode de chiffrement spécifiée (AES256 dans ce cas). Le mot de passe "miPassw0rd" est défini pour sécuriser le fichier ZIP. Le code ajoute ensuite deux fichiers image (image1.png et image2.png) à partir des chemins de fichiers spécifiés à l'archive.

Enfin, la méthode SaveAs est utilisée pour exporter l'archive ZIP protégée par mot de passe sous le nom de "PasswordProtectedImages.zip" Cela garantit la sécurité du contenu avec le mot de passe et la méthode de cryptage spécifiés. IronZIP prend en charge les méthodes AES128, AES256 et les méthodes traditionnelles.

Conclusion

En résumé, cet article a couvert les aspects essentiels de la gestion programmatique des fichiers compressés en C# à l'aide de la bibliothèque IronZIP. Depuis le processus d'installation jusqu'aux exemples pratiques d'extraction, de création et de sécu­risation des archives ZIP, les développeurs ont reçu des informations précieuses. L'API conviviale d'IronZIP, sa compatibilité multiplateforme et la prise en charge des méthodes de cryptage en font une solution polyvalente pour gérer efficacement les fichiers zip dans diverses applications C#.

Qu'il s'agisse de mettre à jour des fichiers existants ou de travailler avec des archives protégées par un mot de passe, IronZIP rationalise le processus et offre un ensemble d'outils robustes aux développeurs à la recherche de capacités de manipulation de fichiers efficaces dans leurs projets C#.

IronZIP offre des options de licence flexibles, y compris une version d'essai gratuite pour une utilisation à long terme. Les développeurs peuvent choisir le modèle de licence qui correspond le mieux aux exigences de leur projet, ce qui garantit à la fois la polyvalence et la commodité de la mise en œuvre d'IronZIP dans leurs applications C#.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
Comment zipper un fichier en C# avec un mot de passe
SUIVANT >
Comment créer un fichier ZIP à partir de plusieurs fichiers en C#