UTILISATION D'IRONZIP

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

Publié février 18, 2024
Partager:

Les fichiers ZIP sont des fichiers qui contiennent un ou plusieurs fichiers ou dossiers compressés, au format ZIP. Il s'agit d'une méthode courante de compression et d'archivage de plusieurs fichiers ou dossiers en un seul fichier. Ils permettent de réduire la taille des données, d'économiser de l'espace disque et de faciliter le transfert de fichiers sur l'internet. Dans cet article, vous apprendrez à travailler avec ZIP dans les C#, en utilisant le IronZIP bibliothèque. Vous verrez comment créer, lire, extraire et mettre à jour des fichiers ZIP par programmation, ainsi que comment utiliser diverses fonctionnalités d'IronZIP, telles que le cryptage, la protection par mot de passe et les niveaux de compression. À la fin de cet article, vous serez en mesure d'utiliser IronZIP pour manipuler facilement des fichiers ZIP dans vos applications C#.

Ce que nous allons couvrir dans cet article

  1. Installer IronZIP dans notre projet

  2. Créer un fichier ZIP

  3. Créer un fichier ZIP protégé par un mot de passe

  4. Extraire le fichier ZIP

  5. Extraire un fichier ZIP protégé par un mot de passe

  6. Accéder à une archive ZIP existante

Qu'est-ce qu'IronZIP ?

IronZIP est une bibliothèque d'archives ZIP C# puissante et polyvalente qui vous permet de créer, de lire et d'extraire des fichiers ZIP par programmation. Il prend en charge différents formats d'archives, tels que ZIP, TAR, GZIPet BZIP2. Il soutient également protection par mot de passeles niveaux d'accès, de cryptage et de compression. IronZIP est compatible avec .NET 8, 7, 6, Core, Standard et Framework.

IronZIP peut vous aider à gérer divers cas d'utilisation et avantages liés au travail avec des fichiers ZIP, comme par exemple :

  1. Créer un système de sauvegarde : Vous pouvez utiliser IronZIP pour compresser et crypter vos fichiers et dossiers importants dans une archive ZIP et les stocker dans un emplacement sécurisé. Vous pouvez ainsi économiser de l'espace disque et protéger vos données contre les accès non autorisés.

  2. Envoi de pièces jointes : Vous pouvez utiliser IronZIP pour réduire la taille de vos pièces jointes en les compressant dans un fichier ZIP. Cela peut vous aider à ne pas dépasser la limite de taille des fichiers et à accélérer le processus de transmission.

  3. Téléchargement de fichiers à partir du web : Vous pouvez utiliser IronZIP pour télécharger et extraire des fichiers ZIP du web, tels que des progiciels, des documents, des images et d'autres types de fichiers. Cela vous permet d'économiser de la bande passante et du temps, et d'accéder facilement aux fichiers dont vous avez besoin.

Premiers pas avec IronZIP

Avant d'écrire le code, il faut installer le NuGet Package IronZIP dans notre projet C#. IronZIP est une bibliothèque de compression populaire disponible via NuGet.

Installation de la bibliothèque IronZIP

Pour installer IronZIP, vous pouvez utiliser la console NuGet Package Manager dans Visual Studio. Il suffit d'exécuter la commande suivante :

Install-Package IronZip

Vous pouvez également télécharger le paquet directement à partir du site officiel de la Commission européenne IronZIP site web. Une fois installé, vous pouvez commencer en ajoutant l'espace de noms suivant au début de votre code C#.

using IronZip;
using IronZip;
Imports IronZip
VB   C#

Création de C# ; Fichiers ZIP dans le dossier File

Nous pouvons facilement créer des fichiers ZIP dans un dossier à l'aide d'IronZIP. Le code suivant zippera tous les fichiers du répertoire spécifié.

static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
Shared Sub Main(ByVal args() As String)
	Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
	Using archive = New IronZipArchive()
		For Each file In fileArray
			' Add files to the ZIP
			archive.Add(file)
		Next file
		' Export the ZIP
		archive.SaveAs("myZipFile.zip")
	End Using
End Sub
VB   C#

Le code C# ci-dessus utilise la bibliothèque IronZIP pour compresser tous les fichiers en un seul fichier ZIP. Le code effectue les opérations suivantes :

  • Nous avons déclaré un tableau de chaînes nommé fileArray et lui avons attribué le résultat de la méthode Directory.GetFiles, en lui passant le chemin du répertoire ("D:\Docs") comme paramètre. Cette méthode renvoie un tableau de chaînes de caractères contenant les noms complets de tous les fichiers du répertoire spécifié.
  • Nous avons créé une nouvelle instance de la classe IronZipArchive, qui représente une archive ZIP en mémoire. L'instance est affectée à une variable nommée archive et est enveloppée dans une instruction using, qui garantit que l'archive ZIP est éliminée à la fin du bloc de code.
  • Nous avons ensuite parcouru le tableau fileArray à l'aide d'une boucle foreach, et pour chaque fichier, nous avons appelé la méthode Add de l'objet archive, en passant le nom du fichier en paramètre. Cette méthode ajoute une nouvelle entrée à l'archive ZIP, avec le même nom et le même contenu que le fichier.
  • Enfin, nous avons appelé la méthode SaveAs de l'objet archive, en lui transmettant le nom du fichier ZIP ("monFichierZip.zip") comme paramètre. Cette méthode permet d'enregistrer l'archive ZIP dans un fichier du système de fichiers actuel.

    De cette manière, nous pouvons facilement créer de nouvelles archives zip en utilisant seulement quelques lignes de code.

Sortie

La sortie est la suivante :

Comment zipper des fichiers dans un dossier à l'aide de C# : Figure 1 - Fichiers de sortie de l'exemple de code précédent

Créer un fichier ZIP protégé par un mot de passe

IronZIP offre la méthode la plus simple pour créer des fichiers ZIP protégés par un mot de passe. L'exemple de code suivant compresse les fichiers et crée un nouveau fichier ZIP avec un mot de passe.

using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
Using archive = New IronZipArchive()
	 For Each file In fileArray
		 ' Add files to the ZIP
		 archive.Add(file)
	 Next file
	' Set Password and Encryption Method
	 archive.Encrypt("myPa55word", EncryptionMethods.AES256)
	 ' Export the ZIP
	 archive.SaveAs("myZipFile.zip")
End Using
VB   C#

La ligne archive.Encrypt("myPa55word", EncryptionMethods.AES256); définit un mot de passe ("myPa55word") pour une archive ZIP à l'aide d'IronZIP. Il renforce la sécurité en appliquant un cryptage AES-256 à l'archive, garantissant que seuls les utilisateurs disposant du mot de passe correct peuvent accéder à son contenu. Cette fonctionnalité est précieuse pour protéger les données sensibles lors du stockage ou du transfert au sein des applications C#. Nous devons transmettre le mode spécifié de l'algorithme de cryptage dans le deuxième paramètre.

Le fichier est crypté comme indiqué ci-dessous.

Sortie

Comment zipper des fichiers dans un dossier à l'aide de C# : Figure 2 - Fichier crypté résultant de l'exemple de code précédent

Nous avons vu la démonstration de la création d'un fichier ZIP en parcourant les répertoires à partir du chemin spécifié. Passons maintenant à l'exemple de la décompression de fichiers.

Extraction de fichiers d'une archive ZIP

IronZIP fournit une méthode pour extraire des fichiers d'une archive ZIP C#. L'exemple de code suivant permet d'extraire le fichier compressé d'une archive ZIP.

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles")
VB   C#

Le code IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles"); utilise IronZIP pour extraire tous les fichiers de "myZipFile.zip" et les place dans le répertoire "myExtractedFiles". Cette méthode concise simplifie le processus d'extraction des archives ZIP en C#, offrant une solution pratique pour les tâches d'extraction de fichiers.

Sortie

Le résultat est le suivant :

Comment zipper des fichiers dans un dossier à l'aide de C# : Figure 3 - Fichiers produits à partir de l'exemple de code précédent

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

IronZIP propose également une méthode d'extraction des fichiers ZIP protégés par un mot de passe. Le code suivant utilise la méthode IronZIP pour extraire tous les fichiers et répertoires existants du fichier ZIP spécifié.

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word")
VB   C#

La méthode ExtractArchiveToDirectory de la classe IronZipArchive extrait toutes les entrées d'une archive ZIP dans un répertoire spécifié. Elle transmet trois arguments à la méthode : le chemin d'accès au fichier ZIP ("monFichierZip.zip")le chemin du répertoire de destination ("mesFichiersExtraits")et le mot de passe du fichier ZIP ("myPa55word").

De cette façon, nous pouvons facilement extraire des fichiers zip protégés par un mot de passe.

Comment accéder à une archive existante

IronZIP fournit des méthodes pour accéder à l'archive existante et afficher toutes les entrées présentes dans le fichier.

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

Le code C# fourni utilise IronZIP pour créer une instance d'IronZipArchive sécurisée en chargeant un fichier ZIP nommé "myZipFile.zip" avec le mot de passe "myPa55word". Ne pas passer le paramètre mot de passe si le fichier n'est pas crypté. Il récupère et imprime ensuite la liste des noms d'entrée (noms de fichiers et de dossiers) dans l'archive ZIP cryptée.

La méthode GetArchiveEntryNames recueille les noms des entrées, et une boucle for-each affiche chaque nom sur la console. Ceci démontre comment IronZIP permet un accès sécurisé et la récupération d'informations de saisie à partir d'archives zip protégées par mot de passe de manière concise.

Sortie

Comment zipper des fichiers dans un dossier à l'aide de C# : Figure 4 - Sortie de l'exemple de code précédent

Conclusion

En conclusion, IronZIP s'avère être une bibliothèque C# robuste et polyvalente pour travailler avec des fichiers ZIP. Ses capacités s'étendent au-delà des compression et extractionle système de gestion de l'information de l'Union européenne (UEI) offre des caractéristiques telles que protection par mot de passeet la compatibilité avec différents formats d'archives. Que vous créiez des systèmes de sauvegarde, que vous gériez des pièces jointes à des courriers électroniques ou que vous téléchargiez des fichiers depuis le web, IronZIP rationalise ces tâches avec simplicité et efficacité.

En intégrant IronZIP à vos applications C#, vous disposez d'un outil puissant pour manipuler les fichiers ZIP, renforcer la sécurité des données et optimiser les processus de transfert de fichiers. Vous pouvez bénéficier d'une trial selon les besoins.

< PRÉCÉDENT
Comment faire une extraction d'archive zip vers un répertoire en C#
SUIVANT >
Comment extraire des fichiers Zip en VB .NET