Jak utworzyć plik ZIP w pamięci w C#

Jak utworzyć plik ZIP w pamięci w C#

W tym instrukcji krok po kroku dowiesz się, jak utworzyć plik ZIP w pamięci za pomocą C#. Proces opisany tutaj pozwala na kompresję plików i folderów w formacie ZIP bez konieczności utworzenia fizycznego pliku na dysku.

Korzyści z tworzenia plików ZIP w pamięci

  • wydajność:- Unikaj dysków I/O, dzięki czemu proces jest szybszy.

  • czasowe przechowywanie:- Zapisz pliki w pamięci dla szybkiego dostępu i przetwarzania.

  • elastyczność:- Ułatwia takie działania jak wysyłanie plików za pośrednictwem sieci bez pośredniego przechowywania.

Wymagania: przygotowanie środowiska

  • Zainstaluj program Visual Studio lub dowolny kompatybilny .NET IDE.
  • Instaluj Aspose.ZIP z programu NuGet Package Manager.

Krok po kroku Przewodnik po utworzeniu pliku ZIP w pamięci

Krok 1: Instalacja Aspose.ZIP

Zacznij od dodania biblioteki Aspose.ZIP do projektu.

Install-Package Aspose.ZIP

Krok 2: Włącz nazwę

Dodaj do Aspose.Zip przesyłać nazwę do kodu, aby wykorzystać jego funkcje.

using Aspose.Zip;

Krok 3: Pobierz pliki z dysku

Odzyskać ścieżki plików z folderu źródłowego w kolejce pasów.

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

Krok 4: Stwórz obiekt archiwum

Zacznij od Archive Obiekt w pamięci do przechowywania wpisów ZIP.

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

Krok 5: Tworzenie wpisów do archiwum

Przejdź przez aretę plików i utwórz ArchiveEntry Dla każdego pliku.

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

Krok 6: Zapisz plik ZIP w pamięci

Tworzenie archiwum ZIP w pamięci, przechowując go do MemoryStream.

zipArchive.Save(zipFileInMemory);

Pełny przykład kodu do tworzenia pliku ZIP w pamięci

Oto kompletny kod, który ilustruje, jak utworzyć plik ZIP w pamięci:

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

Dodatkowe informacje

  • Możesz łatwo zmienić kod, aby zastosować metody szyfrowania lub kompresji do pliku ZIP.
  • To rozwiązanie umożliwia wykonywanie dalszych operacji na pliku ZIP w pamięci, na przykład wysyłanie go przez sieć lub przechowywanie go na dysku później.

konkluzja

Ten tutorial pokazał, jak utworzyć plik ZIP w pamięci za pomocą C#. Poprzez dostarczony wyświetlacz, można skutecznie zarządzać kompresją plików wewnątrz aplikacji bez konieczności tworzenia plików fizycznych. Dla bardziej zaawansowanych funkcji, takich jak ekstrakcja plików ZIP, sprawdź dodatkowe dokumenty Aspose.ZIP.

 Polski