Hvordan man opretter ZIP-filer i hukommelse i C#

Hvordan man opretter ZIP-filer i hukommelse i C#

I denne trin for trin tutorial, vil du lære, hvordan man opretter en ZIP fil i hukommelsen ved hjælp af C#. Processen beskrevet her giver dig mulighed for at komprimere filer og mapper i et ZIP format uden at behøver at oprette en fysisk fil på disken.

Fordelene ved at oprette ZIP-filer i hukommelse

  • Udførelse:- Undgå disk I/O overhovedet, hvilket gør processen hurtigere.

  • Tidlig opbevaring:- Kæps filer i hukommelsen for hurtig adgang og behandling.

  • Fleksibilitet:- Det giver mulighed for aktiviteter som at sende filer over et netværk uden mellemliggende lagring.

Forside: Forberedelse af miljøet

  • Indstill Visual Studio eller ethvert kompatibelt .NET IDE.
  • Installere Aspose.ZIP fra NuGet Package Manager.

Step-by-step guide til at oprette ZIP-filer i hukommelse

Trin 1: Installation af Aspose.ZIP

Start ved at tilføje Aspose.ZIP bibliotek til dit projekt.

Install-Package Aspose.ZIP

Trin 2: Indtast Namespace

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

using Aspose.Zip;

Trin 3: Lade filer fra disken

Returf filveje fra kilde mappen til en string rækkefølge.

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

Trin 4: Skab et arkivobjekt

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
    }
}

Trin 5: Skab arkivindtægter

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

Trin 6: Spare ZIP-filen i hukommelsen

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

zipArchive.Save(zipFileInMemory);

Komplet kodeeksempel til at oprette en ZIP-fil i hukommelsen

Her er den komplette kode, der illustrerer, hvordan man opretter en ZIP-fil i hukommelsen:

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

Yderligere information

  • Du kan nemt ændre koden for at anvende kryptering eller kompression metoder til ZIP-filen.
  • Denne løsning giver dig mulighed for at udføre yderligere operationer på den in-memory ZIP-fil, såsom at sende den over et netværk eller gemme den til disk senere.

Konklusion

Denne tutorial har vist, hvordan man opretter en ZIP-fil i hukommelse ved hjælp af C#. Ved at følge den leverede udgave, kan du effektivt styre kompression af filer inden for dine applikationer uden at behøver at oprette fysiske filer. For mere avancerede funktioner såsom udvinding af ZIP-filer, se yderligere Aspose.ZIP dokumentation.

 Dansk