
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 :
- Le processus d'installation de la bibliothèque IronZIP
- Comment extraire une archive ZIP
- Comment extraire une archive ZIP protégée par mot de passe
- Comment créer un fichier ZIP
- 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.
How to Extract Files to a Directory in 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 :
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;Imports IronZipCode Example to Extract ZIP files in 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")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 se réfère à 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 la classe IronZipArchive fournit. 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 d'accès au fichier ZIP que vous souhaitez extraire. - Le second paramètre (
"Extracted Images") est le répertoire où vous souhaitez extraire les fichiers de l'archive ZIP.
Sortie :

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")Le code ci-dessus extrait le contenu de l'archive "EncryptedImages.zip" vers le répertoire "ExtractedImages" en utilisant IronZIP. Il spécifie également le mot de passe "zipP@55w0rd" pour le déchiffrement, indiquant que le fichier ZIP est crypté et nécessite le mot de passe fourni pour l'extraction. Il remplacera les fichiers existants.
Sortie :

En C# avec IronZIP, décompresser un fichier dans un répertoire implique de tirer parti des capacités de la bibliothèque IronZIP à leur 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 du fichier local. 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");
}
}Sub Main(args As String())
' Create a new ZIP archive with a high compression level (9)
Using archive As 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 SubLe code ci-dessus dé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) à partir des chemins de fichiers spécifiés.
Enfin, la méthode SaveAs est utilisée pour exporter l'archive ZIP créée sous forme de "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 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 archive As 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 UsingLe 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) à 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 forme de "PasswordProtectedImages.zip.". Cela garantit la sécurité du contenu avec le mot de passe spécifié et la méthode de chiffrement. 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#.

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 et créer des manuels bien structurés et visuellement attrayants.
Articles connexes


