ZIP файл в паметта в C#

ZIP файл в паметта в C#

ZIP файл в паметта с помощта на C#. Процесът, изброен тук ви позволява да компресирате файлове и папки в ZIP.

Предимства на създаването на ZIP файлове в паметта

  • Изпълнение:- Избягва I/O на диска, което прави процеса по-бърз.

  • Временно съхранение:- Покрива файлове в паметта за бърз достъп и обработка.

  • гъвкавост:- Улеснява операции като изпращане на файлове през мрежа без посредствено съхранение.

Предимства: Подготвяне на околната среда

  • Visual Studio или всяка съвместима .NET IDE.
  • Aspose.ZIP от NuGet Package Manager.

Стъпка по стъпка ръководство за създаване на ZIP файл в паметта

Стъпка 1: Инсталирайте Aspose.ZIP

Започнете с добавянето на библиотеката Aspose.ZIP към вашия проект.

Install-Package Aspose.ZIP

Стъпка 2: Включете имената

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

using Aspose.Zip;

Стъпка 3: Изтегляне на файлове от диска

Възстановяване на пътеките на файла от източната папка в редица редове.

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

Стъпка 4: Създаване на архивен обект

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: Създаване на архиви

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: Запазете ZIP файла в паметта

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

zipArchive.Save(zipFileInMemory);

Допълнителен код пример за създаване на ZIP файл в паметта

Ето пълен код, който илустрира как да се създаде ZIP файл в паметта:

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

Допълнителна информация

  • Можете лесно да промените кода, за да приложите методите за шифроване или компресия на ZIP файла.
  • Това решение ви позволява да извършвате по-нататъшни операции на файла ZIP в паметта, като например изпращането му през мрежа или съхранението му на диска впоследствие.

заключение

ZIP файл в паметта с помощта на C#. Като следвате предоставения източник, можете ефективно да управлявате компресията на файловете в приложенията си, без да се налага да създавате физически файлове. За по-напреднали функции като извличане на ZIP файлове, вижте допълнителна Aspose.ZIP.

 Български