Wie man eine ZIP-Datei im Speicher in C# erstellt#

Wie man eine ZIP-Datei im Speicher in C# erstellt#

In diesem Schritt-für-Schritt-Tutorial lernen Sie, wie Sie eine ZIP-Datei im Speicher mit C# erstellen. Der hier aufgeführte Prozess ermöglicht es Ihnen, Dateien und Ordner in ein ZIP-Format zu komprimieren, ohne eine physische Datei auf dem Disk zu erstellen.

Vorteile der Erstellung von ZIP-Dateien im Speicher

  • Leistung:- Vermeiden Sie den I/O-Disk, so dass der Prozess schneller wird.

  • temporäre Speicherung:- Keeps Dateien im Speicher für schnelle Zugriff und Verarbeitung.

  • Flexibilität:- Es erleichtert Operationen wie das Senden von Dateien über ein Netzwerk ohne mittlere Speicherung.

Voraussetzungen: Umwelt vorbereiten

  • Installieren Sie Visual Studio oder eine kompatible .NET IDE.
  • Installieren Sie Aspose.ZIP vom NuGet Package Manager.

Schritt für Schritt Guide zum Erstellen von ZIP-Dateien im Speicher

Schritt 1: Installieren Sie Aspose.ZIP

Beginnen Sie, indem Sie die Aspose.ZIP Bibliothek zu Ihrem Projekt hinzufügen.

Install-Package Aspose.ZIP

Schritt 2: Inkludieren Sie den Namespace

Add the Aspose.Zip namespace to your code to use its functionalities.

using Aspose.Zip;

Schritt 3: Laden Sie Dateien von Disk

Wiederherstellen Sie die Dateiwege aus der Quellmappe in eine Reihe von Zeilen.

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

Schritt 4: Erstellen eines Archivobjekts

Instantiate an Archive object in memory to hold the ZIP entries.

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

Schritt 5: Erstellen von Archive enthalten

Loop through the file array and create an ArchiveEntry for each file.

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

Schritt 6: Speichern Sie die ZIP-Datei im Speicher

Create the ZIP archive in memory by saving it to the MemoryStream.

zipArchive.Save(zipFileInMemory);

Vollständiges Code-Exempel, um eine ZIP-Datei im Speicher zu erstellen

Hier ist der vollständige Code, der illustriert, wie Sie eine ZIP-Datei im Speicher erstellen:

// 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);
    }
}

Zusätzliche Informationen

  • Sie können den Code leicht ändern, um Verschlüsselungs- oder Komprimierungsmethoden auf die ZIP-Datei anzuwenden.
  • Diese Lösung ermöglicht es Ihnen, weitere Operationen auf der in-memory ZIP-Datei durchzuführen, z. B. über ein Netzwerk zu senden oder später auf den Disk zu speichern.

Schlussfolgerungen

Dieses Tutorial hat gezeigt, wie man eine ZIP-Datei in der Speicher mit C# erstellen kann.Durch die angebotene Ausgabe können Sie die Dateikompression innerhalb Ihrer Anwendungen effizient verwalten, ohne physische Dateien zu erstellen.

 Deutsch