Kaip sukurti ZIP failą atmintyje C#

Kaip sukurti ZIP failą atmintyje C#

Šiame žingsnį mokymuose sužinosite, kaip sukurti ZIP failą atmintyje naudojant C#. Čia pateiktas procesas leidžia jums suspausti failus ir aplankus į Zip formatą, nereikalaujant kurti fizinio failo diske.

ZIP failų kūrimo atminties privalumai

  • • Veiksmų rezultatai *:- Venkite diskų I / O viršūnės, todėl procesas yra greitesnis.

  • Laikinas saugojimas:- Pateikiami failai atmintyje greitai prieinami ir apdorojami.

  • • lankstumas *- Tai leidžia atlikti tokias operacijas kaip siųsti failus per tinklą be tarpinio saugojimo.

Žymos archyvas: paruošti aplinką

  • Įdiegti „Visual Studio“ arba bet kokį suderinamą .NET IDE.
  • Įdiegti Aspose.ZIP iš NuGet paketų valdytojo.

Žingsnis po žingsnio vadovas, kaip sukurti ZIP failą atmintyje

1 žingsnis: įdiegti Aspose.ZIP

Pradėkite pridedant Aspose.ZIP biblioteką į savo projektą.

Install-Package Aspose.ZIP

2 žingsnis: įtraukti pavadinimo erdvę

Pridėti į Aspose.Zip Namespace į jūsų kodą, kad galėtumėte naudoti jo funkcijas.

using Aspose.Zip;

3 žingsnis: atsisiųskite failus iš disko

Atsisiųskite failų maršrutus iš šaltinio aplankos į sričių eilutę.

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

4 žingsnis: sukurti archyvo objektą

Laikui bėgant Archive objektas atminties laikyti ZIP įrašus.

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

5 žingsnis: sukurkite archyvų įrašus

Perkelkite failą ir sukurkite ArchiveEntry Už kiekvieną failą.

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

6 žingsnis: išsaugoti ZIP failą atmintyje

Sukurkite ZIP archyvą atmintyje, išsaugodami jį į MemoryStream.

zipArchive.Save(zipFileInMemory);

Išsamus kodo pavyzdys sukurti ZIP failą atmintyje

Štai visiškas kodas, kuris iliustruoja, kaip sukurti ZIP failą atmintyje:

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

Papildoma informacija

  • Jūs galite lengvai modifikuoti kodą, kad į ZIP failą būtų taikomi šifravimo ar suspaudimo metodai.
  • Šis sprendimas leidžia atlikti tolesnes operacijas į atminties ZIP failą, pvz., Siųsti jį per tinklą arba išsaugoti jį į diską vėliau.

Conclusion

Šis mokymas parodė, kaip sukurti ZIP failą atmintyje naudojant C#. Pasekdamas pateiktą nuorodą, galite efektyviai valdyti failų suspaudimą savo programose be fizinių failus.

 Lietuvių