Come comprimere una cartella in C#

Come comprimere una cartella in C#

Cet article rapide explique comment taper un dossier en C#. Il fournit des étapes détaillées et un échantillon de code pour aider à créer un fichier ZIP pour un dossier et son contenu.

Les avantages de Zipping Folders

  • Efficacité spatiale:

  • Réduit l’espace de stockage en compressant les fichiers.

  • Gestion des fichiers organisés:

  • Combine plusieurs fichiers dans un seul archive pour faciliter la distribution et la gestion.

  • Transferts plus rapides:

  • Les petites tailles de fichiers permettent de télécharger et de télécharger plus rapidement.

Étiquette : Préparer l’environnement

  • Configurez Visual Studio ou tout IDE .NET compatible.
  • Installez la bibliothèque Aspose.ZIP via NuGet Package Manager.

Guide Step-by-Step pour ZIP un dossier en C#

Étape 1 : Installer Aspose.ZIP

Ajouter la bibliothèque Aspose.ZIP à votre projet en utilisant le gestionnaire de paquets NuGet. Cela permet les fonctionnalités de compression des fichiers et des dossiers dans les projets .NET et C#.

Install-Package Aspose.ZIP

Étape 2 : Créer un objet FileStream

Instantané A FileStream ce fichier sera l’archive de destination, par exemple “AnimationImages.zip”.

using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);

Étape 3 : Créer un objet de fichier ZIP

Créer un exemple de la Archive Classes pour gérer les opérations d’archivage ZIP en C#.

using (Archive archiveFile = new Archive())
{
    // Further processing follows here
}

Étape 4 : Créer des entrées dans l’archive

Ajouter tous les fichiers et dossiers de la directory cible recurrent en utilisant le CreateEntries Ceci vous permet de zip tous les contenus d’un dossier en C#.

archiveFile.CreateEntries("AnimationImages");

Étape 5 : sauvegarder le fichier ZIP

Une fois les entrées créées, sauvez l’archive sur le disque.Cela produira un fichier ZIP contenant tous les fichiers et sous-folders sélectionnés.

archiveFile.Save(zippedFolder);

Exemple de code complet pour ZIP un dossier

Voici l’exemple complet de C# montrant comment zip un dossier, ajouter des fichiers à un fichier ZIP, ou zip plusieurs dossiers dans un catalogue:

// Create a file stream object for the output zip file
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
    // Create a Zip archive file class object
    using (Archive archiveFile = new Archive())
    {
        // Add all the files and folders recursively
        archiveFile.CreateEntries("AnimationImages");

        // Save the output ZIP file
        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 drapeaux pour contrôler si vous devez inclure la dossier racine dans la sortie ZIP.
  • Cette méthode est adaptée aux projets .NET Core, .Net Framework et ASP.NET.
  • Aspose.ZIP peut gérer les fichiers, les dossiers et les catégories en C#.

Questions fréquemment posées (FAQ)

Comment puis-je taper un dossier en C# ?

Suivez les étapes ci-dessus pour ajouter Aspose.ZIP à votre projet et utiliser CreateEntries et Save des méthodes.

Puis-je créer un fichier ZIP en C# pour plusieurs fichiers?

Oui, utilisez le CreateEntries méthode d’ajouter tous les fichiers dans un dossier, ou de ajouter chaque fichier individuellement.

Comment puis-je taper des fichiers dans un catalogue en utilisant C# ?

Passez le parcours de directeur à CreateEntries Pour ajouter recursivement tous les fichiers et sous-follers au ZIP.

Cette solution est-elle compatible avec .NET Core ?

Oui, Aspose.ZIP fonctionne avec les projets .NET Core, .Net Framework et ASP.NET.

Puis-je ajouter des fichiers à un fichier ZIP existant en C#?

Oui, vous pouvez ouvrir un fichier existant et ajouter des fichiers ou des dossiers selon le besoin.

Comment puis-je vérifier si le dossier racine est inclus dans le fichier ZIP?

Utilisez des drapeaux ou des options disponibles dans CreateEntries Pour les contrôles finis.

Conclusion

Ce tutoriel vous a guidé à travers le processus de zipping un dossier complet en C# avec Aspose.ZIP. Vous pouvez zip les dossiers, ajouter des fichiers à un ZIP, et gérer la compression de fichier efficacement dans les applications .NET, .Net Core et ASP.NET.

 Français