Hogyan készítsünk ZIP fájlt a memóriában C#

Hogyan készítsünk ZIP fájlt a memóriában C#

Ebben a lépésről lépésre útmutatóban megtanulják, hogyan kell létrehozni egy ZIP fájlt a memóriában a C# használatával.A folyamat itt felsorolt lehetővé teszi, hogy a fájlokat és a mappákat egy ZIP formátumban, anélkül, hogy fizikai fájlt kell létrehozni a lemezre.

A ZIP fájlok létrehozásának előnyei a memóriában

  • A teljesítmény:- Kerülje az I/O lemez felfelé, így a folyamat gyorsabb.

  • ideiglenes tárolás:- A fájlokat a memóriában rögzíti a gyors hozzáféréshez és feldolgozáshoz.

  • rugalmasság:- Lehetővé teszi az olyan műveleteket, mint a fájlok hálózaton keresztül történő elküldését közvetett tárolás nélkül.

Előfeltételek: a környezet előkészítése

  • A Visual Studio vagy bármely kompatibilis .NET IDE beállítása.
  • Telepítse az Aspose.ZIP-t a NuGet csomagkezelőből.

Lépésről lépésre útmutató a ZIP fájl létrehozásához a memóriában

1. lépés: Az Aspose.ZIP telepítése

Kezdje az Aspose.ZIP könyvtár hozzáadásával a projekthez.

Install-Package Aspose.ZIP

2. lépés: A névtér beépítése

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

using Aspose.Zip;

3. lépés: Töltse le a fájlokat a lemezről

Visszaállítsa a fájl útvonalait a forráskódból egy sorrendbe.

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

4. lépés: Hozzon létre egy archív tárgyat

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

5. lépés: Készítsen archív bejegyzéseket

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

6. lépés: mentse a ZIP fájlt a memóriában

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

zipArchive.Save(zipFileInMemory);

Teljes kódminták létrehozásához ZIP fájl a memóriában

Íme a teljes kód, amely illusztrálja, hogyan kell létrehozni egy ZIP fájlt a memóriában:

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

További információk

  • Könnyen módosíthatja a kódot, hogy titkosítási vagy tömörítési módszereket alkalmazzon a ZIP fájlra.
  • Ez a megoldás lehetővé teszi, hogy további műveleteket végezzen a memóriában lévő ZIP fájlban, mint például a hálózaton keresztül történő elküldését, vagy később a lemezre menteni.

következtetések

Ez a kézikönyv megmutatta, hogyan kell létrehozni egy ZIP fájlt a memóriában a C# használatával. Azáltal, hogy követi a rendelkezésre álló kifejezést, akkor hatékonyan kezeli a fájl tömörítését az alkalmazásokon belül anélkül, hogy fizikai fájlokat kell létrehozni.

 Magyar