using IronZip;
// Create an empty ZIP
using (var archive = new IronZipArchive())
{
// Add files to the ZIP
archive.Add("./assets/image1.jpg");
archive.Add("./assets/image2.jpg");
archive.Add("./assets/image3.jpg");
// Export the ZIP
archive.SaveAs("output.zip");
}
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 avecZIP dans lesC#, en utilisant leIronZIP 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
Installer IronZIP dans notre projet
Créer un fichier ZIP
Créer un fichier ZIP protégé par un mot de passe
Extraire le fichier ZIP
Extraire un fichier ZIP protégé par un mot de passe
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 queZIP, TAR, GZIPetBZIP2. Il soutient égalementprotection 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 :
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.
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.
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éenneIronZIP 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
$vbLabelText $csharpLabel
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
$vbLabelText $csharpLabel
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 :
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
$vbLabelText $csharpLabel
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
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.
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 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é.
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 pouraccé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
$vbLabelText $csharpLabel
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
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à descompression etextractionle système de gestion de l'information de l'Union européenne (UEI) offre des caractéristiques telles queprotection 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'unetrial selon les besoins.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< 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
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier