Créer ZIP en C#

Introduction aux archives ZIP en C#

Les archives ZIP sont essentielles pour compresser et organiser des fichiers et des dossiers en un seul conteneur. Elles réduisent non seulement la taille des fichiers pour un stockage et une transmission efficaces, mais maintiennent également les métadonnées et peuvent être chiffrées pour des raisons de sécurité. Cet article vous guidera à travers diverses méthodes pour créer des fichiers ZIP par programmation en C#, couvrant des opérations telles que l’ajout de fichiers et de dossiers, la création d’archives protégées par mot de passe, et l’application du chiffrement AES.

Ce que vous apprendrez

Dans cet article, vous découvrirez comment :

Bibliothèque ZIP C#

La Aspose.ZIP pour .NET est une bibliothèque puissante pour gérer les opérations de fichiers ZIP au sein des applications .NET. Elle simplifie le processus de compression ou de décompression de fichiers et de dossiers et prend en charge le chiffrement AES pour une sécurité renforcée. Vous pouvez facilement installer cette bibliothèque depuis NuGet ou télécharger les binaires depuis la section Téléchargements.

Créer une archive ZIP en C#

Pour créer par programmation un fichier ZIP en C#, suivez ces étapes :

  1. Créez un objet FileStream pour l’archive ZIP de sortie.
  2. Ouvrez le fichier source en tant qu’objet FileStream.
  3. Instanciez la classe Archive.
  4. Ajoutez le fichier à l’archive en utilisant la méthode Archive.CreateEntry(string, FileStream).
  5. Enregistrez l’archive ZIP avec la méthode Archive.Save(FileStream).

Voici un exemple de code montrant comment ajouter un fichier à une archive ZIP en C# :

Ajouter plusieurs fichiers à une archive ZIP en C#

Lorsque vous devez ajouter plusieurs fichiers à une archive ZIP, vous pouvez utiliser plusieurs approches :

Utiliser FileStream pour ajouter plusieurs fichiers

Cette méthode utilise la classe FileStream pour ajouter des fichiers à l’archive ZIP via la méthode Archive.CreateEntry(String, FileStream). Voici comment vous pouvez le faire :

Utiliser FileInfo pour plusieurs fichiers

Alternativement, vous pouvez utiliser la classe FileInfo pour charger des fichiers et les ajouter à l’archive ZIP avec la méthode Archive.CreateEntry(String, FileInfo). Voici un exemple de code :

Utiliser les chemins de fichiers

Vous pouvez également fournir directement les chemins de fichiers à la méthode Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Voici un exemple :

Ajouter des dossiers à une archive ZIP en C#

Pour ajouter un dossier à une archive ZIP en C#, vous pouvez suivre ces étapes :

  1. Créez un objet FileStream pour l’archive ZIP de sortie.
  2. Instanciez la classe Archive.
  3. Utilisez la classe DirectoryInfo pour spécifier le dossier que vous souhaitez compresser.
  4. Ajoutez le dossier au ZIP en utilisant la méthode Archive.CreateEntries(DirectoryInfo).
  5. Enregistrez l’archive ZIP avec la méthode Archive.Save(FileStream).

Voici un exemple de code illustrant comment ajouter un dossier à un fichier ZIP :

Créer un ZIP protégé par mot de passe en utilisant ZipCrypto en C#

Pour sécuriser vos archives ZIP, vous pouvez appliquer une protection par mot de passe en utilisant le chiffrement ZipCrypto. Cela se fait en utilisant la classe ArchiveEntrySettings dans le constructeur de l’Archive, qui accepte le type de chiffrement comme paramètre.

Voici comment créer une archive ZIP protégée par mot de passe en utilisant ZipCrypto en C# :

Créer un ZIP protégé par mot de passe avec chiffrement AES

La bibliothèque Aspose.ZIP pour .NET prend également en charge le chiffrement AES pour protéger les archives ZIP. Vous pouvez choisir parmi les méthodes de chiffrement AES suivantes :

  • AES128
  • AES192
  • AES256

Pour appliquer le chiffrement AES, utilisez la classe AesEcryptionSettings. Voici un exemple de code montrant comment créer un ZIP protégé par mot de passe avec chiffrement AES en C# :

Définir le mode de compression parallèle

Pour gérer efficacement plusieurs entrées, vous pouvez configurer l’API pour la compression parallèle en utilisant la classe ParallelOptions. Les modes de compression parallèle disponibles sont :

  • Jamais - Ne pas compresser en parallèle.
  • Toujours - Compresser en parallèle (attention aux problèmes de mémoire potentiels).
  • Automatique - Décider automatiquement d’utiliser ou non la compression parallèle en fonction des entrées.

Voici comment définir le mode de compression parallèle lors de la compression de plusieurs fichiers avec la bibliothèque ZIP Aspose C# :

En savoir plus sur la bibliothèque ZIP C# .NET

Pour approfondir votre compréhension de la bibliothèque ZIP C#, explorez les ressources suivantes :

Essayez notre outil de compression ZIP en ligne

Vous pouvez également expérimenter notre application en ligne gratuite basée sur Aspose.ZIP pour .NET pour compresser des fichiers en archives ZIP sans effort.

Conclusion

Dans cet article, vous avez appris à créer des archives ZIP par programmation en C#. Les exemples de code fournis montrent comment ajouter des fichiers et des dossiers à des archives ZIP, créer des fichiers ZIP protégés par mot de passe en utilisant ZipCrypto et des méthodes de chiffrement AES, et configurer la compression parallèle. Si vous avez des questions ou avez besoin d’aide supplémentaire, n’hésitez pas à nous contacter via notre forum.

Voir aussi

Décompresser ou extraire des fichiers en utilisant C#Décompresser des fichiers dans des archives ZIP en utilisant C#Créer des archives 7z (7-Zip) en C# .NET
Ouvrir ou extraire un fichier 7z (7zip) en C# .NETCréer et extraire des archives GZip en utilisant C#Convertir des fichiers RAR en archive ZIP en C#
Convertir des archives ZIP en TAR en C#Créer une archive ZIP plate en C#Créer une archive auto-extractible exécutable en C#
Créer des fichiers TAR.GZ et TAR.XZ en C#Supprimer des fichiers dans une archive ZIP en C#Extraire des archives ZIP imbriquées en C#
Fusionner plusieurs archives ZIP ou TAR en C#Comment créer des fichiers ZIPExtraire 7z en ligne