Comment Zipper Des Fichiers Dans Un Dossier Utilisant C#
Les fichiers ZIP sont des fichiers qui contiennent un ou plusieurs fichiers ou dossiers compressés au format ZIP. C'est une façon courante de compresser et d'archiver plusieurs fichiers ou dossiers en un seul fichier. Ils peuvent réduire la taille des données, économiser de l'espace disque et faciliter le transfert de fichiers sur Internet. Dans cet article, vous apprendrez à travailler avec ZIP fichiers en C# en utilisant la bibliothèque IronZIP. Vous verrez comment créer, lire, extraire et mettre à jour des fichiers ZIP par programmation, ainsi que comment utiliser diverses fonctionnalités de IronZIP, telles que le cryptage, la protection par mot de passe et les niveaux de compression. À la fin de cet article, vous serez capable d'utiliser IronZIP pour gérer les fichiers ZIP dans vos applications C# facilement.
Ce que nous couvrirons dans cet article
- Installer IronZIP dans notre projet
- Créer un fichier ZIP
- Créer un fichier ZIP protégé par mot de passe
- Extraire un fichier ZIP
- Extraire un fichier ZIP protégé par mot de passe
- Accéder à une archive ZIP existante
Qu'est-ce que IronZIP ?
IronZIP est une bibliothèque d'archives ZIP puissante et polyvalente pour C# qui vous permet de créer, lire et extraire des fichiers ZIP par programmation. Il prend en charge divers formats d'archives, tels que ZIP, TAR, GZIP et BZIP2. Il prend également en charge la protection par mot de passe, le cryptage et les niveaux 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 de travailler avec des fichiers ZIP, tels que :
- Création d'un système de sauvegarde : Vous pouvez utiliser IronZIP pour compresser et chiffrer vos fichiers et dossiers importants dans une archive ZIP et les stocker dans un emplacement sécurisé. De cette manière, vous pouvez économiser de l'espace disque et protéger vos données contre tout accès non autorisé.
- 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 vous permettra d'éviter de dépasser la limite de taille de fichier et d'accélérer la transmission.
- Téléchargement de fichiers depuis le Web : Vous pouvez utiliser IronZIP pour télécharger et extraire des fichiers ZIP depuis le Web, tels que des logiciels, des documents, des images et d'autres types de fichiers. Cela peut vous aider à économiser de la bande passante et du temps et à accéder facilement aux fichiers dont vous avez besoin.
Commencer avec IronZIP
Avant d'écrire le code, vous devez installer le package NuGet IronZIP dans votre projet C#. IronZIP est une bibliothèque de compression populaire disponible via NuGet.
Installer la bibliothèque IronZIP
Pour installer IronZIP, vous pouvez utiliser la console du gestionnaire de packages NuGet dans Visual Studio. Il vous suffit d'exécuter la commande suivante :
Install-Package IronZip
Alternativement, vous pouvez télécharger le package directement depuis le site officiel de IronZIP. Une fois installé, vous pouvez commencer par ajouter l'espace de noms suivant en haut de votre code C#.
using IronZip;
using IronZip;
Imports IronZip
Créer des fichiers ZIP C# dans un dossier
Vous pouvez facilement créer des fichiers ZIP dans un dossier en utilisant IronZIP. Le code suivant zipe tous les fichiers du répertoire spécifié.
using System;
using System.IO;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Get all files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Docs\");
// Create a new ZIP archive
using (var archive = new IronZipArchive())
{
// Iterate through each file and add it to the archive
foreach (var file in fileArray)
{
archive.Add(file); // Add files to the ZIP
}
// Save the archive to a file
archive.SaveAs("myZipFile.zip");
}
}
}
using System;
using System.IO;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Get all files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Docs\");
// Create a new ZIP archive
using (var archive = new IronZipArchive())
{
// Iterate through each file and add it to the archive
foreach (var file in fileArray)
{
archive.Add(file); // Add files to the ZIP
}
// Save the archive to a file
archive.SaveAs("myZipFile.zip");
}
}
}
Imports System
Imports System.IO
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Get all files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
' Create a new ZIP archive
Using archive = New IronZipArchive()
' Iterate through each file and add it to the archive
For Each file In fileArray
archive.Add(file) ' Add files to the ZIP
Next file
' Save the archive to a file
archive.SaveAs("myZipFile.zip")
End Using
End Sub
End Class
Le code C# ci-dessus utilise la bibliothèque IronZIP pour compresser tous les fichiers en un seul fichier ZIP. Le code effectue les actions suivantes :
- Déclare un tableau de chaînes nommé
fileArrayet lui assigne le résultat de la méthodeDirectory.GetFiles, en passant le chemin du répertoire (" D:\Docs ") comme paramètre. Cette méthode renvoie un tableau de chaînes contenant les noms complets de tous les fichiers du répertoire spécifié. - Crée une nouvelle instance de la classe
IronZipArchive, qui représente une archive ZIP en mémoire. L'instance est assignée à une variable nomméearchiveet est enveloppée dans une instructionusing, ce qui garantit que l'archive ZIP est supprimée lorsque le bloc de code se termine. - Parcourt le tableau
fileArrayà l'aide d'une boucleforeach, et pour chaque fichier, il appelle la méthodeAddde l'objetarchive, en passant le nom du fichier comme paramètre. Cette méthode ajoute une nouvelle entrée à l'archive ZIP, avec le même nom et contenu que le fichier. - Appelle la méthode
SaveAsde l'objetarchive, en passant le nom du fichier ZIP (" myZipFile.zip ") comme paramètre. Cette méthode enregistre l'archive ZIP dans un fichier dans le système de fichiers courant.
De cette manière, vous pouvez facilement créer de nouvelles archives ZIP en quelques lignes de code.
Sortie
La sortie est la suivante :

Créer un fichier ZIP protégé par mot de passe
IronZIP fournit une méthode simple pour créer des fichiers ZIP protégés par mot de passe. L'exemple de code suivant comprimera les fichiers et créera un nouveau fichier ZIP avec un mot de passe.
using System;
using System.IO;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Get all files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Docs\");
// Create a new ZIP archive
using (var archive = new IronZipArchive())
{
// Iterate through each file and add it to the archive
foreach (var file in fileArray)
{
archive.Add(file); // Add files to the ZIP
}
// Set Password and Encryption Method
archive.Encrypt("myPa55word", EncryptionMethods.AES256);
// Save the archive to a file
archive.SaveAs("myZipFile.zip");
}
}
}
using System;
using System.IO;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Get all files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Docs\");
// Create a new ZIP archive
using (var archive = new IronZipArchive())
{
// Iterate through each file and add it to the archive
foreach (var file in fileArray)
{
archive.Add(file); // Add files to the ZIP
}
// Set Password and Encryption Method
archive.Encrypt("myPa55word", EncryptionMethods.AES256);
// Save the archive to a file
archive.SaveAs("myZipFile.zip");
}
}
}
Imports System
Imports System.IO
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Get all files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
' Create a new ZIP archive
Using archive = New IronZipArchive()
' Iterate through each file and add it to the archive
For Each file In fileArray
archive.Add(file) ' Add files to the ZIP
Next file
' Set Password and Encryption Method
archive.Encrypt("myPa55word", EncryptionMethods.AES256)
' Save the archive to a file
archive.SaveAs("myZipFile.zip")
End Using
End Sub
End Class
La ligne archive.Encrypt("myPa55word", EncryptionMethods.AES256); définit un mot de passe (" myPa55word ") pour une archive ZIP utilisant IronZIP. Elle renforce la sécurité en appliquant un chiffrement AES-256 à l'archive, garantissant ainsi que seuls les utilisateurs possédant le mot de passe correct peuvent accéder à son contenu. Cette fonction est précieuse pour protéger les données sensibles pendant le stockage ou le transfert dans les applications C#. Vous devez passer le mode spécifié de l'algorithme de cryptage comme second paramètre.
Le fichier est crypté comme montré ci-dessous.
Sortie

Nous avons vu la démonstration de la création d'un fichier ZIP en parcourant les répertoires depuis le chemin spécifié. Maintenant, passons à l'exemple de décompression des fichiers.
Extraire des fichiers depuis une archive ZIP
IronZIP fournit une méthode pour extraire des fichiers d'une archive ZIP en C#. L'exemple de code suivant extraira le fichier compressé dans une archive ZIP.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract all files from the ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
}
}
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract all files from the ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
}
}
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract all files from the ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles")
End Sub
End Class
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#, fournissant une solution pratique pour les tâches d'extraction de fichiers.
Sortie
La sortie est la suivante :

Comment extraire depuis un fichier ZIP protégé par mot de passe
IronZIP fournit également une méthode pour extraire des fichiers ZIP protégés par mot de passe. Le code suivant utilisera la méthode IronZIP pour extraire tous les fichiers et répertoires existants du fichier ZIP spécifié.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract all files from the password-protected ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
}
}
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract all files from the password-protected ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
}
}
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract all files from the password-protected ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word")
End Sub
End Class
La méthode ExtractArchiveToDirectory de la classe IronZipArchive extrait toutes les entrées d'une archive ZIP vers un répertoire spécifié. Elle passe trois arguments à la méthode : le chemin du fichier ZIP ("myZipFile.zip"), le chemin du répertoire de destination ("myExtractedFiles") et le mot de passe du fichier ZIP ("myPa55word").
De cette manière, vous pouvez facilement extraire des fichiers ZIP protégés par mot de passe.
Comment accéder à une archive existante
IronZIP fournit des méthodes pour accéder à l'archive existante et visualiser toutes les entrées présentes dans le fichier.
using System;
using System.Collections.Generic;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Open an existing ZIP archive with a password
using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
// Get entries list
List<string> names = archive.GetArchiveEntryNames();
// Iterate through each entry name and print it
foreach (string name in names)
{
Console.WriteLine(name);
}
}
}
}
using System;
using System.Collections.Generic;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Open an existing ZIP archive with a password
using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
// Get entries list
List<string> names = archive.GetArchiveEntryNames();
// Iterate through each entry name and print it
foreach (string name in names)
{
Console.WriteLine(name);
}
}
}
}
Imports System
Imports System.Collections.Generic
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Open an existing ZIP archive with a password
Using archive = New IronZipArchive("myZipFile.zip", "myPa55word")
' Get entries list
Dim names As List(Of String) = archive.GetArchiveEntryNames()
' Iterate through each entry name and print it
For Each name As String In names
Console.WriteLine(name)
Next name
End Using
End Sub
End Class
Le code C# fourni utilise IronZIP pour créer une instance sécurisée IronZipArchive en chargeant un fichier ZIP nommé " myZipFile.zip " avec le mot de passe " myPa55word ". Ne passez pas le paramètre de mot de passe si le fichier n'est pas chiffré. Il récupère ensuite et imprime la liste des noms d'entrée (noms de fichiers et de dossiers) dans l'archive ZIP chiffrée.
La méthode GetArchiveEntryNames rassemble les noms des entrées, et une boucle foreach affiche chaque nom sur la console. Cela démontre comment IronZIP permet un accès sécurisé et une récupération des informations d'entrées des archives ZIP protégées par mot de passe de manière concise.
Sortie

Conclusion
En conclusion, IronZIP s'avère être une bibliothèque C# robuste et polyvalente pour travailler avec les fichiers ZIP. Ses capacités vont au-delà de la simple compression et extraction, offrant des fonctionnalités telles que la protection par mot de passe, le cryptage et la compatibilité avec divers formats d'archives. Que vous créiez des systèmes de sauvegarde, gériez des pièces jointes par e-mail ou téléchargiez des fichiers depuis le web, IronZIP simplifie ces tâches avec simplicité et efficacité.
En intégrant IronZIP dans vos applications C#, vous obtenez un outil puissant pour gérer les fichiers ZIP, améliorer la sécurité des données et optimiser les processus de transfert de fichiers. Vous pouvez bénéficier d'un essai gratuit si nécessaire.
Questions Fréquemment Posées
Comment puis-je créer un fichier ZIP à partir d'un dossier en C# ?
Vous pouvez utiliser IronZIP pour créer un fichier ZIP à partir d'un dossier en parcourant les fichiers dans le répertoire et en les ajoutant à une nouvelle archive ZIP. Utilisez la classe IronZipArchive et appelez la méthode SaveAs pour enregistrer le fichier ZIP.
Comment installer IronZIP dans un projet C#?
Installez IronZIP dans votre projet C# en utilisant le gestionnaire de packages NuGet dans Visual Studio. Exécutez la commande Install-Package IronZip dans la console du gestionnaire de packages ou téléchargez-le depuis le site officiel d'IronZIP.
Quels formats IronZIP prend-il en charge pour la gestion des fichiers ZIP ?
IronZIP prend en charge divers formats d'archive y compris ZIP, TAR, GZIP et BZIP2, offrant une flexibilité pour différents besoins de compression et d'archivage.
Puis-je chiffrer les fichiers ZIP créés en C# ?
Oui, vous pouvez chiffrer des fichiers ZIP en utilisant IronZIP en appliquant la méthode Encrypt avec le chiffrement AES-256 pour sécuriser vos données dans l'archive.
Comment puis-je extraire des fichiers d'un fichier ZIP en C# ?
Pour extraire des fichiers d'une archive ZIP en utilisant IronZIP, utilisez la méthode ExtractArchiveToDirectory, en spécifiant le fichier ZIP source et le répertoire de destination.
Est-il possible de gérer les fichiers ZIP protégés par mot de passe en C# ?
Oui, vous pouvez gérer des fichiers ZIP protégés par mot de passe avec IronZIP en fournissant le mot de passe lors de l'utilisation de méthodes telles que ExtractArchiveToDirectory pour accéder aux contenus en toute sécurité.
Quels sont les avantages de l'utilisation d'IronZIP pour la gestion des fichiers ZIP ?
IronZIP simplifie des tâches comme la sauvegarde de fichiers, la gestion des pièces jointes d'email et les téléchargements web en offrant des fonctionnalités telles que le chiffrement, la protection par mot de passe et le support de plusieurs formats d'archive.
IronZIP est compatible avec .NET 8, 7, 6, Core, Standard et Framework, ce qui le rend flexible pour l'intégration dans divers projets C#.
IronZIP est compatible avec .NET 8, 7, 6, Core, Standard et Framework, ce qui le rend flexible pour une intégration dans divers projets C#.
Les développeurs peuvent accéder à un essai gratuit d'IronZIP en visitant la section licences ou téléchargements du site d'IronZIP pour évaluer ses fonctionnalités.
Quel est l'avantage d'utiliser les fichiers ZIP pour le transfert de données ?
Les fichiers ZIP sont avantageux pour le transfert de données car ils réduisent la taille des fichiers, économisent de l'espace disque et facilitent l'envoi de plusieurs fichiers sur Internet de manière efficace.
Les fichiers ZIP sont bénéfiques pour le transfert de données car ils réduisent la taille des fichiers, économisent de l'espace disque et facilitent l'envoi de plusieurs fichiers sur Internet de manière efficace.




