Créer un ZIP en C#

Introduction aux archives ZIP en C#

Les archives ZIP sont essentielles pour compresser et organiser des fichiers et dossiers en un seul conteneur gérable. Elles réduisent non seulement les tailles de fichiers pour un stockage et une transmission efficaces, mais préservent également les métadonnées et peuvent être cryptées pour une sécurité accrue. Dans cet article, nous explorerons diverses méthodes pour créer des fichiers ZIP par programme en C#, y compris comment ajouter des fichiers et des dossiers, créer des archives protégées par mot de passe, et appliquer le cryptage AES.

Ce que vous allez apprendre

Dans cet article, vous découvrirez comment :

Bibliothèque ZIP C#

La bibliothèque Aspose.ZIP pour .NET est un outil puissant pour gérer les opérations de fichiers ZIP au sein des applications .NET, facilitant la compression ou la décompression de fichiers et de dossiers. Cette bibliothèque est particulièrement efficace pour gérer de gros fichiers dans des archives ZIP C# .NET et prend en charge le cryptage AES pour une sécurité accrue. 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 un fichier ZIP par programme 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, plusieurs approches peuvent être prises :

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#, suivez 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 à la 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 cryptage ZipCrypto. Cela se fait en utilisant la classe ArchiveEntrySettings dans le constructeur de la classe Archive, qui accepte le type de cryptage 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 cryptage AES

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

  • AES128
  • AES192
  • AES256

Pour appliquer le cryptage AES, utilisez la classe AesEcryptionSettings. Voici un exemple de code montrant comment créer un ZIP protégé par mot de passe avec cryptage 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 :

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

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

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

Pour approfondir votre compréhension de la bibliothèque ZIP C# .NET, 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 dans des archives ZIP sans effort.

Conclusion

Dans cet article, vous avez appris comment créer des archives ZIP par programme 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 les méthodes ZipCrypto et AES, et configurer la compression parallèle. Si vous avez des questions ou avez besoin d’une assistance 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 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

Mots-clés : Création d’archives ZIP C# .NET par programme, Gestion de fichiers ZIP C# .NET Core, Ajouter des fichiers à une archive ZIP en C# .NET 6, Ajouter des dossiers à une archive ZIP en utilisant C# .NET, Créer un fichier ZIP à partir d’un répertoire C#, Compression de fichiers ZIP C# .NET avec protection par mot de passe, Cryptage et décryptage de fichiers ZIP .NET par programme, Création efficace de fichiers ZIP en C# .NET pour de gros fichiers, Gestion de gros fichiers dans des archives ZIP C# .NET, Gestion des erreurs d’archives ZIP C# .NET et meilleures pratiques, Ajout de fichiers programmatique avec la bibliothèque ZIP Aspose .NET, Performance de la bibliothèque ZIP Aspose .NET pour de gros fichiers, Bibliothèque ZIP Aspose .NET : Ajouter des dossiers et des fichiers par programme, Mise à jour de fichiers ZIP par programme en C# .NET, .NET ZIP Archive : Ajouter plusieurs dossiers et fichiers, Création de fichiers ZIP asynchrones C# .NET, Création d’archives ZIP par programme dans le framework .NET, Création d’archives ZIP par programme dans .NET Core, Exemples de manipulation de fichiers ZIP .NET : Ajouter, Supprimer, Mettre à jour, Gestion de fichiers ZIP par programme en C# .NET Core 3.1, Gestion de fichiers ZIP par programme en C# .NET 5, Gestion de fichiers ZIP par programme en C# .NET 7, Archive ZIP C# .NET avec préservation de la structure de répertoire, API de fichiers ZIP C# .NET : Ajouter, Supprimer, Extraire, Créer des fichiers ZIP auto-extractibles en C# .NET, Bibliothèque de compression ZIP .NET : Meilleures pratiques et optimisation, Création de fichiers ZIP C# .NET à partir de plusieurs sources, Ajouter des fichiers à un dossier ZIP avec sous-répertoires, Gestion programmatique de fichiers ZIP .NET : Techniques avancées, Recommandation de bibliothèque ZIP C# .NET pour de gros fichiers, Création efficace de fichiers ZIP C# .NET pour de grands ensembles de données, Création de fichiers ZIP .NET avec rapport de progression, Archive ZIP C# .NET : Ajouter par programme des fichiers et des dossiers, Traitement des fichiers ZIP .NET 6 : Gestion efficace des fichiers, Archive ZIP C# .NET : Meilleures pratiques pour la sécurité, API de fichiers ZIP .NET : Utilisation avancée et fonctionnalités, Ajouter un répertoire à une archive ZIP avec compression personnalisée.