Tworzenie ZIP w C#

Wprowadzenie do archiwów ZIP w C#

Archiwa ZIP są niezbędne do kompresji i organizacji plików oraz folderów w jednym, łatwym do zarządzania kontenerze. Nie tylko zmniejszają rozmiary plików dla efektywnego przechowywania i transmisji, ale również zachowują metadane i mogą być szyfrowane dla zwiększonego bezpieczeństwa. W tym artykule zbadamy różne metody programowego tworzenia plików ZIP w C#, w tym jak dodawać pliki i foldery, tworzyć archiwa chronione hasłem oraz stosować szyfrowanie AES.

Czego się nauczysz

W tym artykule odkryjesz, jak:

Biblioteka ZIP w C#

Aspose.ZIP dla .NET to solidne narzędzie do obsługi operacji na plikach ZIP w aplikacjach .NET, co ułatwia kompresję lub dekompresję plików i folderów. Obsługuje również szyfrowanie AES dla zwiększonego bezpieczeństwa. Możesz łatwo zainstalować tę bibliotekę z NuGet lub pobrać binaria z sekcji Pobieranie.

Utwórz archiwum ZIP w C#

Aby programowo utworzyć plik ZIP w C#, wykonaj następujące kroki:

  1. Utwórz obiekt FileStream dla wyjściowego archiwum ZIP.
  2. Otwórz plik źródłowy jako obiekt FileStream.
  3. Zainicjuj klasę Archive.
  4. Dodaj plik do archiwum za pomocą metody Archive.CreateEntry(string, FileStream).
  5. Zapisz archiwum ZIP za pomocą metody Archive.Save(FileStream).

Oto przykład kodu ilustrujący, jak dodać plik do archiwum ZIP w C#:

Dodaj wiele plików do archiwum ZIP w C#

Gdy musisz dodać wiele plików do archiwum ZIP, istnieje kilka podejść, które możesz zastosować:

Użycie FileStream do dodawania wielu plików

Ta metoda wykorzystuje klasę FileStream do dodawania plików do archiwum ZIP za pomocą metody Archive.CreateEntry(String, FileStream). Oto jak to zrobić:

Użycie FileInfo dla wielu plików

Alternatywnie możesz wykorzystać klasę FileInfo, aby załadować pliki i dodać je do archiwum ZIP za pomocą metody Archive.CreateEntry(String, FileInfo). Poniżej znajduje się przykład kodu:

Użycie ścieżek do plików

Możesz również bezpośrednio podać ścieżki plików do metody Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Oto przykład:

Dodaj foldery do archiwum ZIP w C#

Aby dodać folder do archiwum ZIP w C#, wykonaj następujące kroki:

  1. Utwórz obiekt FileStream dla wyjściowego archiwum ZIP.
  2. Zainicjuj klasę Archive.
  3. Użyj klasy DirectoryInfo, aby określić folder, który chcesz skompresować.
  4. Dodaj folder do ZIP za pomocą metody Archive.CreateEntries(DirectoryInfo).
  5. Zapisz archiwum ZIP za pomocą metody Archive.Save(FileStream).

Oto przykład kodu ilustrujący, jak dodać folder do pliku ZIP:

Utwórz archiwum ZIP chronione hasłem za pomocą ZipCrypto w C#

Aby zabezpieczyć swoje archiwa ZIP, możesz zastosować ochronę hasłem za pomocą szyfrowania ZipCrypto. Osiąga się to poprzez wykorzystanie klasy ArchiveEntrySettings w konstruktorze klasy Archive, która akceptuje typ szyfrowania jako parametr.

Oto jak utworzyć archiwum ZIP chronione hasłem za pomocą ZipCrypto w C#:

Utwórz archiwum ZIP chronione hasłem z szyfrowaniem AES

Biblioteka Aspose.ZIP dla .NET również obsługuje szyfrowanie AES w celu ochrony archiwów ZIP. Możesz wybrać spośród następujących metod szyfrowania AES:

  • AES128
  • AES192
  • AES256

Aby zastosować szyfrowanie AES, użyj klasy AesEcryptionSettings. Poniżej znajduje się przykład kodu ilustrujący, jak utworzyć archiwum ZIP chronione hasłem z szyfrowaniem AES w C#:

Ustaw tryb kompresji równoległej

Aby efektywnie obsługiwać wiele wpisów, możesz skonfigurować API do kompresji równoległej za pomocą klasy ParallelOptions. Dostępne tryby kompresji równoległej to:

  • Nigdy - Nie kompresuj równolegle.
  • Zawsze - Kompresuj równolegle (uważaj na potencjalne problemy z pamięcią).
  • Auto - Automatycznie zdecyduj, czy użyć kompresji równoległej na podstawie wpisów.

Oto jak ustawić tryb kompresji równoległej podczas kompresji wielu plików za pomocą biblioteki Aspose C# ZIP:

Dowiedz się więcej o bibliotece ZIP C# .NET

Aby pogłębić swoją wiedzę na temat biblioteki ZIP C#, zapoznaj się z następującymi zasobami:

Wypróbuj nasze narzędzie do kompresji ZIP online

Możesz również eksperymentować z naszą bezpłatną aplikacją online opartą na Aspose.ZIP dla .NET, aby łatwo kompresować pliki do archiwów ZIP.

Podsumowanie

W tym artykule nauczyłeś się, jak programowo tworzyć archiwa ZIP w C#. Podane przykłady kodu pokazują, jak dodawać pliki i foldery do archiwów ZIP, tworzyć pliki ZIP chronione hasłem za pomocą metod szyfrowania ZipCrypto i AES oraz konfigurować kompresję równoległą. Jeśli masz jakiekolwiek pytania lub potrzebujesz dalszej pomocy, skontaktuj się z nami za pośrednictwem naszego forum.

Zobacz także

Unrar lub wyodrębnij pliki za pomocą C#Rozpakuj pliki w archiwach ZIP za pomocą C#Tworzenie archiwów 7z (7-Zip) w C# .NET
Otwórz lub wyodrębnij plik 7z (7zip) w C# .NETTworzenie i wyodrębnianie archiwów GZip za pomocą C#Konwertuj pliki RAR do archiwum ZIP w C#
Konwertuj archiwa ZIP do TAR w C#Utwórz płaskie archiwum ZIP w C#Utwórz samorozpakowujące się archiwum wykonywalne w C#
Tworzenie plików TAR.GZ i TAR.XZ w C#Usuń pliki w archiwum ZIP w C#Wyodrębnij zagnieżdżone archiwa ZIP w C#
Scal wiele archiwów ZIP lub TAR w C#Jak tworzyć pliki ZIPWyodrębnij 7z online