Jak skompresować folder w C#

Jak skompresować folder w C#

Ten krótki artykuł wyjaśnia, jak spakować folder w C#. Zawiera szczegółowe kroki oraz przykład kodu, aby pomóc w tworzeniu pliku ZIP dla folderu i jego zawartości. To rozwiązanie nie wymaga instalowania żadnych narzędzi firm trzecich.

Korzyści z pakowania folderów

  1. Wydajność przestrzenna:
    • Redukuje miejsce na dysku poprzez kompresję plików.
  2. Zorganizowane zarządzanie plikami:
    • Łączy wiele plików w jeden archiwum, co ułatwia dystrybucję i zarządzanie.
  3. Szybsze transfery:
    • Mniejsze rozmiary plików prowadzą do szybszych czasów przesyłania i pobierania.

Wymagania wstępne: Przygotowanie środowiska

  1. Skonfiguruj Visual Studio lub dowolne kompatybilne IDE .NET.
  2. Zainstaluj bibliotekę Aspose.ZIP za pośrednictwem Menedżera pakietów NuGet.

Przewodnik krok po kroku, jak spakować folder

Krok 1: Zainstaluj Aspose.ZIP

Dodaj bibliotekę Aspose.ZIP do swojego projektu.

Install-Package Aspose.ZIP

Krok 2: Utwórz obiekt FileStream

Zainicjuj obiekt FileStream dla wyjściowego pliku ZIP.

using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);

Krok 3: Utwórz obiekt archiwum ZIP

Utwórz instancję klasy Archive, aby obsługiwać operacje ZIP.

using (Archive archiveFile = new Archive())
{
    // Dalsze przetwarzanie następuje tutaj
}

Krok 4: Utwórz wpisy w archiwum

Dodaj wszystkie pliki i foldery z docelowego katalogu rekurencyjnie.

archiveFile.CreateEntries("AnimationImages");

Krok 5: Zapisz plik ZIP

Po utworzeniu wpisów zapisz archiwum na dysku.

archiveFile.Save(zippedFolder);

Pełny przykład kodu do spakowania folderu

Oto kompletny przykład C#, który pokazuje, jak spakować folder:

// Utwórz obiekt strumienia plików dla wyjściowego pliku zip
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
    // Utwórz obiekt klasy pliku archiwum Zip
    using (Archive archiveFile = new Archive())
    {
        // Dodaj wszystkie pliki i foldery rekurencyjnie
        archiveFile.CreateEntries("AnimationImages");

        // Zapisz wyjściowy plik ZIP
        archiveFile.Save(zippedFolder);
    }
}

Dodatkowe informacje

  • Możesz podać obiekt klasy DirectoryInfo jako źródło plików dla wyjściowego pliku ZIP.
  • Możesz również dodać flagi, aby kontrolować, czy do wyjściowego pliku ZIP ma być dołączony folder główny.

Podsumowanie

Ten poradnik poprowadził Cię przez proces pakowania całego folderu w C#. Przy użyciu zaledwie kilku linii kodu możesz łatwo zarządzać strukturami folderów i efektywnie tworzyć archiwa ZIP. Aby uzyskać dalsze funkcjonalności, zapoznaj się z poradnikami na temat wyodrębniania plików ZIP lub tworzenia różnych typów archiwów.

 Polski