Passer au contenu du pied de page
UTILISER IRONZIP

Comment Décompresser Un Fichier Vers Un Répertoire en C#

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

Que vous travailliez sur une application Windows ou un projet .NET, comprendre le processus de décompression des fichiers peut être inestimable. Plongeons-nous 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 mot de passe
  4. Comment créer un fichier ZIP
  5. Comment créer des fichiers ZIP protégés par mot de passe

Pourquoi décompresser des fichiers ?

Les fichiers ZIP, également connus sous le nom d'archives ZIP, sont des ensembles de plusieurs fichiers dans un seul conteneur compressé. Décompresser ces fichiers implique d'extraire les données compressées et de les restaurer à leur état d'origine. Ce processus est essentiel lorsque vous avez besoin d'accéder ou de manipuler des données dans une application C#. IronZIP simplifie cette tâche en fournissant des méthodes simples pour gérer les données compressées.

Qu'est-ce qu'IronZIP ?

IronZIP est une bibliothèque puissante d'archives ZIP en C# 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 le travail avec des archives ZIP dans vos applications .NET.

Il prend en charge divers formats d'archives, y compris 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 comme les 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#

Maintenant, je vais discuter de quelques exemples pour extraire à 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 Package NuGet IronZIP.

Installer IronZIP via le gestionnaire de packages NuGet

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

Install-Package IronZip

Alternativement, vous pouvez utiliser l'interface utilisateur du gestionnaire de packages dans Visual Studio pour rechercher et installer le package 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écompressera les fichiers dans le répertoire spécifié en C#.

// This line extracts the "Images.zip" archive to the "Extracted Images" directory
IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");
// This line extracts the "Images.zip" archive to the "Extracted Images" directory
IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");
' This line extracts the "Images.zip" archive to the "Extracted Images" directory
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é "Extracted Images".

Explication

IronZipArchive fait référence à la classe fournie par la bibliothèque IronZIP. C'est le point d'entrée principal pour travailler avec les archives ZIP dans votre code C#. ExtractArchiveToDirectory(...) est une méthode (ou fonction) que fournit la classe IronZipArchive. Elle 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 :

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

Output:

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

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

IronZIP fournit une méthode simple pour extraire des fichiers ZIP cryptés. Le code suivant montre comment extraire tous les fichiers d'un fichier ZIP protégé par mot de passe.

// This line extracts the "EncryptedImages.zip" archive to the "ExtractedImages" directory with the given password
IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");
// This line extracts the "EncryptedImages.zip" archive to the "ExtractedImages" directory with the given password
IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");
' This line extracts the "EncryptedImages.zip" archive to the "ExtractedImages" directory with the given password
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" en utilisant 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 remplacera les fichiers existants.

Output:

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

En C# avec IronZIP, décompresser un fichier dans un répertoire implique de tirer parti des capacités de la bibliothèque IronZIP au maximum. En utilisant des fonctions comme IronZipArchive.ExtractArchiveToDirectory, les développeurs peuvent facilement extraire des fichiers compressés, offrant un mécanisme simple pour gérer l'en-tête local de fichier. Il fournit un moyen efficace de mettre à jour les fichiers ZIP et RAR dans leurs applications.

IronZIP fournit é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éera une archive ZIP.

static void Main(string[] args)
{
    // Create a new ZIP archive with a high compression level (9)
    using (var archive = new IronZipArchive(9))
    {
        // Add image files to the archive
        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 to the file "MyImages.zip"
        archive.SaveAs("MyImages.zip");
    }
}
static void Main(string[] args)
{
    // Create a new ZIP archive with a high compression level (9)
    using (var archive = new IronZipArchive(9))
    {
        // Add image files to the archive
        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 to the file "MyImages.zip"
        archive.SaveAs("MyImages.zip");
    }
}
Shared Sub Main(ByVal args() As String)
	' Create a new ZIP archive with a high compression level (9)
	Using archive = New IronZipArchive(9)
		' Add image files to the archive
		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 to the file "MyImages.zip"
		archive.SaveAs("MyImages.zip")
	End Using
End Sub
$vbLabelText   $csharpLabel

Le code ci-dessus montre l'utilisation d'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) depuis les chemins de fichiers spécifiés.

Enfin, la méthode SaveAs exporte l'archive ZIP sous 'MyImages.zip' dans le répertoire spécifié. Le niveau de compression 9 indique une compression maximale, ce qui entraîne des tailles de fichiers plus petites mais potentiellement des temps de traitement plus longs.

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

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

Le code suivant créera un fichier ZIP protégé par mot de passe.

// Create a new ZIP archive with a high compression level (9)
using (var archive = new IronZipArchive(9))
{
    // Password protect the ZIP archive (Support AES128 & AES256)
    archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);

    // Add image files to the archive
    archive.Add(@"E:\Images\image1.png");
    archive.Add(@"E:\Images\image2.png");

    // Export the ZIP archive as "PasswordProtectedImages.zip"
    archive.SaveAs("PasswordProtectedImages.zip");
}
// Create a new ZIP archive with a high compression level (9)
using (var archive = new IronZipArchive(9))
{
    // Password protect the ZIP archive (Support AES128 & AES256)
    archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);

    // Add image files to the archive
    archive.Add(@"E:\Images\image1.png");
    archive.Add(@"E:\Images\image2.png");

    // Export the ZIP archive as "PasswordProtectedImages.zip"
    archive.SaveAs("PasswordProtectedImages.zip");
}
' Create a new ZIP archive with a high compression level (9)
Using archive = New IronZipArchive(9)
	' Password protect the ZIP archive (Support AES128 & AES256)
	archive.Encrypt("miPassw0rd", EncryptionMethods.AES256)

	' Add image files to the archive
	archive.Add("E:\Images\image1.png")
	archive.Add("E:\Images\image2.png")

	' Export the ZIP archive as "PasswordProtectedImages.zip"
	archive.SaveAs("PasswordProtectedImages.zip")
End Using
$vbLabelText   $csharpLabel

Le code ci-dessus montre l'utilisation d'IronZIP pour créer une archive ZIP protégée par mot de passe avec une méthode de cryptage 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) depuis les 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 "PasswordProtectedImages.zip." Cela assure la sécurité du contenu avec le mot de passe et la méthode de cryptage spécifiés. IronZIP prend en charge AES128, AES256, et des méthodes traditionnelles.

Conclusion

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

Que ce soit pour mettre à jour des fichiers existants ou travailler avec des archives protégées par mot de passe, IronZIP simplifie le processus, offrant un ensemble d'outils robustes pour les développeurs cherchant des capacités efficaces de manipulation de fichiers dans leurs projets C#.

IronZIP propose des options de licence flexibles, y compris un essai gratuit pour une utilisation à long terme. Les développeurs peuvent choisir le modèle de licence qui correspond le mieux à leurs exigences de projet, garantissant à la fois polyvalence et commodité dans l'implémentation d'IronZIP dans leurs applications C#.

Questions Fréquemment Posées

Comment puis-je extraire des fichiers d'une archive ZIP en C#?

Vous pouvez utiliser IronZIP pour extraire des fichiers d'une archive ZIP en C#. La méthode IronZipArchive.ExtractArchiveToDirectory vous permet de spécifier le chemin du fichier ZIP et le répertoire cible pour l'extraction.

Quelles sont les étapes pour installer IronZIP dans un projet .NET?

Pour installer IronZIP dans un projet .NET, vous pouvez utiliser le gestionnaire de packages NuGet dans Visual Studio. Exécutez la commande Install-Package IronZIP dans la console du gestionnaire de packages ou recherchez IronZIP dans l'interface utilisateur du gestionnaire de packages NuGet pour l'ajouter à votre projet.

Puis-je extraire des fichiers ZIP protégés par mot de passe en utilisant IronZIP?

Oui, IronZIP prend en charge l'extraction de fichiers ZIP protégés par mot de passe. Vous devez fournir le mot de passe en tant que paramètre dans la méthode ExtractArchiveToDirectory pour accéder aux fichiers et les extraire.

Comment créer un fichier ZIP par programmation en C#?

Vous pouvez créer un fichier ZIP en C# en utilisant IronZIP en instanciant un nouvel IronZipArchive, en ajoutant des fichiers avec la méthode Add, et en enregistrant l'archive à l'aide de la méthode SaveAs.

IronZIP prend-il en charge plusieurs formats d'archives?

Oui, IronZIP prend en charge plusieurs formats d'archives, y compris ZIP, TAR, GZIP et BZIP2, permettant une gestion flexible des différents types de fichiers compressés dans les applications C#.

IronZIP est-il compatible avec les applications .NET multiplateformes?

IronZIP est compatible avec les applications .NET multiplateformes car il prend en charge .NET Core, .NET Standard, et .NET Framework, ce qui le rend polyvalent pour divers environnements de développement.

Quelles méthodes de cryptage sont disponibles dans IronZIP?

IronZIP propose des méthodes de cryptage pour créer des archives ZIP protégées par mot de passe. Vous pouvez utiliser la méthode Encrypt pour définir un mot de passe et sécuriser vos archives.

Comment puis-je évaluer IronZIP avant d'acheter?

IronZIP offre un essai gratuit avec des options de licence flexibles, permettant aux développeurs d'évaluer les fonctionnalités et la performance de la bibliothèque avant de s'engager à acheter.

Quels avantages IronZIP offre-t-il pour la gestion des fichiers ZIP en C#?

IronZIP fournit une API conviviale, prend en charge divers formats d'archives et méthodes de cryptage, et simplifie le processus de création, lecture, et extraction d'archives ZIP, en faisant un outil efficace pour les développeurs C#.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite