UTILISATION D'IRONZIP

Comment faire une extraction d'archive zip vers un répertoire en C#

Publié mars 26, 2024
Partager:

Les fichiers ZIP constituent un moyen pratique de regrouper plusieurs fichiers et répertoires dans une seule archive. Que vous gériez des sauvegardes, distribuiez des logiciels ou partagiez des fichiers, une extraction efficace des archives ZIP est cruciale. IronZIP, un puissant.NET simplifie ce processus en fournissant des méthodes simples.

Comment faire une extraction d'archive zip vers un répertoire en C# ;

  1. Installez la bibliothèque IronZIP dans votre projet.

  2. Utiliser la fonction ExtractArchiveToDirectory() fournie par IronZIP.

  3. Indiquez le chemin d'accès à votre fichier ZIP(par exemple, "output.zip") et le répertoire d'extraction cible(par exemple, "extrait").

Qu'est-ce qu'IronZIP ?

IronZIP est une bibliothèque C# polyvalente qui gère les fichiers ZIP dans les applications .NET. Que vous créiez des logiciels de bureau, des applications Web ou des outils d'automatisation, IronZIP simplifie les tâches suivantescréer, lectureetextraire Archives ZIP.

Caractéristiques principales

Haute performance: IronZIP dispose d'un moteur puissant pour la compression et la décompression des fichiers, ce qui rend les choses plus rapides et utilise moins de ressources.

Facilité d'utilisation: Les développeurs peuvent intégrer IronZIP en toute transparence dans leurs projets. La bibliothèque fournit des méthodes simples pour travailler avec des fichiers ZIP.

Intégration de NuGet: InstallerIronZIP via le gestionnaire de paquets NuGet, ce qui le rend accessible à votre solution C# d'extraction ziparchive vers un répertoire.

Compatibilité multiplateforme: IronZIP prend en charge diverses plateformes, notamment Windows, Linux et macOS.

Documentation et tutoriels: Explorez le site officiel de l'Agence européenne pour la sécurité et la santé au travail (ESA)la documentation ettutoriels pour apprendre à exploiter efficacement IronZIP.

IronZIP offre aux développeurs une solution fiable et efficace, qu'il s'agisse de compresser des fichiers pour les distribuer, de gérer des sauvegardes ou des archives de données.

Extraction d'une archive ZIP dans un répertoire

Avant de commencer, nous devons installer la bibliothèque IronZIP dans notre projet. Nous pouvons l'ajouter en utilisant la console NuGet Package Manager avec la commande suivante :

Install-Package IronZip

La commande ci-dessus installera la bibliothèque IronZIP ainsi que les dépendances nécessaires dans notre projet.

Vous pouvez également le télécharger à partir du gestionnaire de paquets NuGet pour la solution en naviguant sur "IronZip".

Incluez les directives utilisant nécessaires dans votre code :

using IronZip;
using IronZip.Enum;
using IronZip;
using IronZip.Enum;
Imports IronZip
Imports IronZip.Enum
VB   C#

Extraire le fichier ZIP dans le répertoire spécifié

IronZIP simplifie le processus d'extraction d'une archive zip vers un répertoire. Nous pouvons extraire des fichiers en utilisant seulement une ligne de code. Le code suivant extrait tous les fichiers du chemin d'accès fourni.

internal class Program
 { 
static void Main(string [] args)
 {
     IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts");
 }
}
internal class Program
 { 
static void Main(string [] args)
 {
     IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts");
 }
}
Friend Class Program
Shared Sub Main(ByVal args() As String)
	 IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts")
End Sub
End Class
VB   C#

La ligne de code ci-dessus extrait le contenu du fichier "Contracts.zip" et le place dans un dossier de destination nommé "Contracts" Il s'agit d'un moyen pratique de gérer les archives ZIP de manière programmatique dans les applications C#.

Explication

  1. IronZipArchive : Il s'agit d'une classe ou d'un objet de la bibliothèque IronZIP. Il fournit des méthodes et des propriétés pour travailler avec des fichiers ZIP.

  2. .ExtractArchiveToDirectory("Contrats.zip", "Contrats"):

    1. La méthode ExtractArchiveToDirectory est appelée sur une instance d'IronZipArchive

    2. Le premier argument, "Contracts.zip", représente le chemin d'accès au fichier ZIP que vous souhaitez extraire.
  3. Le deuxième argument, "Contracts", spécifie le répertoire cible dans lequel les fichiers extraits seront placés.

    Si les fichiers existent déjà dans un répertoire spécifié, ils seront écrasés. Le fichier extrait est le suivant :

    Comment Zip Archive Extract To Directory en C# : Figure 1 - Système de fichiers

Extraire une archive ZIP protégée par un mot de passe

IronZIP propose également une méthode pour extraire les fichiers compressés protégés par un mot de passe. L'exemple suivant permet d'extraire les fichiers d'un fichier ZIP protégé par un mot de passe.

IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip")
VB   C#

Le code ci-dessus extrait le contenu d'un fichier ZIP protégé par mot de passe nommé "Contrats protégés par mot de passe.zip" et le place dans un répertoire appelé "Contrats" Le mot de passe spécifié garantit une extraction sécurisée du fichier ZIP protégé.

Accéder aux archives existantes

IronZIP permet d'accéder à des fichiers ZIP existants sans les extraire d'un répertoire spécifié. Cette fonctionnalité est importante pour des scénarios tels que l'extraction de fichiers à partir d'archives compressées, la validation de l'existence d'entrées spécifiques, ou même l'inspection dynamique du contenu des fichiers ZIP en réponse aux interactions de l'utilisateur.

Voir les entrées de l'archive ZIP

L'exemple de code suivant permet d'accéder au fichier ZIP existant et d'imprimer ses entrées sur la console.

using (var zipArchive = new IronZipArchive("Contracts.zip")) // ziparchive archive
 {
     // Get Entries list
     List<string> names = zipArchive.GetArchiveEntryNames(); 
     foreach (string name in names)
     {
         Console.WriteLine(name); //// method creates ziparchiveentry entry
     }
 }
using (var zipArchive = new IronZipArchive("Contracts.zip")) // ziparchive archive
 {
     // Get Entries list
     List<string> names = zipArchive.GetArchiveEntryNames(); 
     foreach (string name in names)
     {
         Console.WriteLine(name); //// method creates ziparchiveentry entry
     }
 }
Using zipArchive = New IronZipArchive("Contracts.zip") ' ziparchive archive
	 ' Get Entries list
	 Dim names As List(Of String) = zipArchive.GetArchiveEntryNames()
	 For Each name As String In names
		 Console.WriteLine(name) '// method creates ziparchiveentry entry
	 Next name
End Using
VB   C#

Le code ci-dessus utilise IronZIP pour vérifier ce que contient un fichier ZIP nommé "Contracts.zip" Il crée un objet IronZipArchive pour récupérer une liste de noms d'entrées(comme les noms de fichiers) de l'archive à l'aide de la méthode GetArchiveEntryNames. Si le fichier ZIP est protégé par un mot de passe, vous pouvez inclure le mot de passe lorsque vous créez l'objet IronZipArchive. Le code imprime ensuite chaque nom de fichier sur la console.

De cette façon, nous pouvons travailler avec des entrées spécifiques dans une archive compressée.

Le résultat est le suivant :

Comment extraire une archive zip vers un répertoire en C# : Figure 2 - Sortie des entrées de l'archive ZIP

Vérifier si l'entrée spécifiée existe dans le fichier ZIP

Nous pouvons également vérifier si l'entrée spécifiée existe dans le fichier ZIP spécifié. Le code suivant en fait la démonstration.

using (var zipArchive = new IronZipArchive("Contracts.zip"))
 {
     if(zipArchive.CheckArchiveEntryExist("Contract1.pdf"))
     {
         Console.WriteLine("File Exist");
     }
 }
using (var zipArchive = new IronZipArchive("Contracts.zip"))
 {
     if(zipArchive.CheckArchiveEntryExist("Contract1.pdf"))
     {
         Console.WriteLine("File Exist");
     }
 }
Using zipArchive = New IronZipArchive("Contracts.zip")
	 If zipArchive.CheckArchiveEntryExist("Contract1.pdf") Then
		 Console.WriteLine("File Exist")
	 End If
End Using
VB   C#

Le code ci-dessus utilise la bibliothèque IronZIP pour vérifier si un fichier nommé "Contracts.zip" contient une entrée nommée "Contract1.pdf" Pour ce faire, il crée un objet IronZipArchive pour le fichier ZIP. Dans le bloc de code, une instruction "if" vérifie si "Contrat1.pdf" existe dans le fichier ZIP. Si c'est le cas, il imprime "File Exist" sur la console. En termes plus simples, ce code vous aide à confirmer si un fichier spécifique se trouve à l'intérieur d'un fichier ZIP, et si c'est le cas, il vous le fait savoir.

Comment Zip Archive Extract To Directory en C# : Figure 3 - Vérification de l'existence d'un fichier

Supprimer l'entrée d'un fichier ZIP existant

IronZIP fournit une méthode pour supprimer des entrées d'un fichier ZIP. Le code suivant supprime un fichier d'un fichier ZIP existant.

using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    zipArchive.DeleteArchiveEntry("Contract1.pdf");
}
using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    zipArchive.DeleteArchiveEntry("Contract1.pdf");
}
Using zipArchive = New IronZipArchive("Contracts.zip")
	zipArchive.DeleteArchiveEntry("Contract1.pdf")
End Using
VB   C#

Le code ci-dessus montre comment utiliser IronZIP pour supprimer une entrée d'une archive ZIP nommée "Contracts.zip" Dans le bloc "using", le fichier spécifié "Contract1.pdf" est supprimé de l'archive. Cette opération assure une gestion efficace des fichiers ZIP dans les applications C#.

Conclusion

En conclusion, IronZIP apparaît comme un outil précieux pour les développeurs C#, simplifiant la manipulation des fichiers ZIP dans divers scénarios. Qu'il s'agissel'extraction de fichiers pour un usage professionnel.

SUIVANT >
Comment zipper des fichiers dans un dossier à l'aide de C#