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.