Come creare un file ZIP in memoria in C#

Come creare un file ZIP in memoria in C#

Dans ce tutoriel étape par étape, vous apprendrez comment créer un fichier ZIP dans la mémoire en utilisant C#. Le processus indiqué ici vous permet de compresser les fichiers et les dossiers dans un format ZIP sans avoir à créer un fichier physique sur le disque.

Les avantages de créer des fichiers ZIP dans la mémoire

  • Les performances:- Évitez le disque I/O au dessus, ce qui rend le processus plus rapide.

  • Enregistrement temporaire:- Keeps les fichiers dans la mémoire pour un accès rapide et un traitement.

  • La flexibilité:- Il facilite des opérations telles que l’envoi de fichiers sur un réseau sans stockage intermédiaire.

Étiquette : Préparer l’environnement

  • Configurez Visual Studio ou tout IDE .NET compatible.
  • Installez Aspose.ZIP à partir du NuGet Package Manager.

Guide étape par étape pour créer un fichier ZIP dans la mémoire

Étape 1 : Installer Aspose.ZIP

Commencez par ajouter la bibliothèque Aspose.ZIP à votre projet.

Install-Package Aspose.ZIP

Étape 2 : Inclure le nom

Ajoutez le Aspose.Zip Nomespace à votre code pour utiliser ses fonctionnalités.

using Aspose.Zip;

Étape 3 : télécharger les fichiers sur le disque

Retirez les voies de fichier de la dossier source dans un arrêt de fil.

string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

Étape 4 : Créer un objet d’archive

Instantané un Archive l’objet dans la mémoire pour conserver les entrées ZIP.

using (MemoryStream zipFileInMemory = new MemoryStream())
{
    using (Archive zipArchive = new Archive())
    {
        // Further processing follows here
    }
}

Étape 5 : Créer des archives

Passez par le fichier et créez un ArchiveEntry pour chaque fichier.

foreach (string fileDiskPath in filesArray)
{
    string fileName = Path.GetFileName(fileDiskPath);
    zipArchive.CreateEntry(fileName, fileDiskPath);
}

Étape 6: Enregistrer le fichier ZIP dans la mémoire

Créer l’archive ZIP dans la mémoire en le sauvegardant MemoryStream.

zipArchive.Save(zipFileInMemory);

Exemple de code complet pour créer un fichier ZIP dans la mémoire

Voici le code complet qui illustre comment créer un fichier ZIP dans la mémoire:

// Create a MemoryStream instance for the ZIP file
using (MemoryStream zipFileInMemory = new MemoryStream())
{
    // Create an empty Archive object for ZIP
    using (Archive zipArchive = new Archive())
    {
        // Get all files from a folder and store their paths in a string array
        string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

        // Loop through the array and create an ArchiveEntry for each file
        foreach (string fileDiskPath in filesArray)
        {
            string fileName = Path.GetFileName(fileDiskPath);
            zipArchive.CreateEntry(fileName, fileDiskPath);
        }

        // Save the Archive in memory
        zipArchive.Save(zipFileInMemory);
    }
}

Informations supplémentaires

  • Vous pouvez facilement modifier le code pour appliquer des méthodes de cryptage ou de compression au fichier ZIP.
  • Cette solution vous permet d’effectuer des opérations supplémentaires sur le fichier ZIP en mémoire, comme l’envoyer par le biais d’un réseau ou le sauvegarder sur le disque plus tard.

Conclusion

Ce tutoriel a montré comment créer un fichier ZIP dans la mémoire en utilisant C#. En suivant l’outline fournie, vous pouvez gérer efficacement la compression des fichiers dans vos applications sans avoir à créer des fichiers physiques.

 Français