Comment compresser un dossier en C#
Cet article rapide explique comment compresser un dossier en C#. Il fournit des étapes détaillées et un exemple de code pour aider à créer un fichier ZIP pour un dossier et son contenu. Cette solution ne nécessite pas l’installation d’outils tiers.
Avantages de la compression de dossiers
- Efficacité de l’espace :
- Réduit l’espace de stockage en compressant les fichiers.
- Gestion de fichiers organisée :
- Combine plusieurs fichiers en une seule archive pour une distribution et une gestion plus faciles.
- Transferts plus rapides :
- Des tailles de fichiers plus petites entraînent des temps de téléchargement et de téléversement plus rapides.
Prérequis : Préparation de l’environnement
- Configurez Visual Studio ou tout IDE .NET compatible.
- Installez la bibliothèque Aspose.ZIP via le gestionnaire de packages NuGet.
Guide étape par étape pour compresser un dossier
Étape 1 : Installer Aspose.ZIP
Ajoutez la bibliothèque Aspose.ZIP à votre projet.
Install-Package Aspose.ZIP
Étape 2 : Créer un objet FileStream
Instanciez un objet FileStream
pour le fichier ZIP de sortie.
using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);
Étape 3 : Créer un objet Archive ZIP
Créez une instance de la classe Archive
pour gérer les opérations ZIP.
using (Archive archiveFile = new Archive())
{
// Le traitement supplémentaire suit ici
}
Étape 4 : Créer des entrées dans l’archive
Ajoutez tous les fichiers et dossiers du répertoire cible de manière récursive.
archiveFile.CreateEntries("AnimationImages");
Étape 5 : Enregistrer le fichier ZIP
Une fois les entrées créées, enregistrez l’archive sur le disque.
archiveFile.Save(zippedFolder);
Exemple de code complet pour compresser un dossier
Voici l’exemple complet en C# démontrant comment compresser un dossier :
// Créer un objet FileStream pour le fichier zip de sortie
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
// Créer un objet de classe fichier d'archive Zip
using (Archive archiveFile = new Archive())
{
// Ajouter tous les fichiers et dossiers de manière récursive
archiveFile.CreateEntries("AnimationImages");
// Enregistrer le fichier ZIP de sortie
archiveFile.Save(zippedFolder);
}
}
Informations supplémentaires
- Vous pouvez fournir un objet de classe DirectoryInfo comme source des fichiers pour le fichier ZIP de sortie.
- Vous pouvez également inclure des indicateurs pour contrôler si le dossier racine doit être inclus dans le fichier ZIP de sortie.
Conclusion
Ce tutoriel vous a guidé à travers le processus de compression d’un dossier complet en C#. Avec juste quelques lignes de code, vous pouvez facilement gérer des structures de dossiers et créer des archives ZIP de manière efficace. Pour d’autres fonctionnalités, consultez des tutoriels sur l’extraction de fichiers ZIP ou la création de différents types d’archives.