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 kontenerze. Nie tylko zmniejszają rozmiary plików dla efektywnego przechowywania i transmisji, ale także zachowują metadane i mogą być szyfrowane w celach bezpieczeństwa. Ten artykuł poprowadzi Cię przez różne metody programowego tworzenia plików ZIP w C#, obejmujące operacje takie jak dodawanie plików i folderów, tworzenie archiwów chronionych hasłem oraz stosowanie szyfrowania AES.

Czego się nauczysz

W tym artykule dowiesz się, jak:

Biblioteka ZIP C#

Biblioteka Aspose.ZIP dla .NET to potężne narzędzie do obsługi operacji na plikach ZIP w aplikacjach .NET. Ułatwia proces kompresji lub dekompresji plików i folderów oraz obsługuje szyfrowanie AES dla zwiększonego bezpieczeństwa. Możesz łatwo zainstalować tę bibliotekę z NuGet lub pobrać pliki binarne 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. Zainicjalizuj 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 demonstrujący, jak dodać plik do archiwum ZIP w C#:

Dodaj wiele plików do archiwum ZIP w C#

Kiedy musisz dodać wiele plików do archiwum ZIP, możesz skorzystać z kilku podejść:

Używanie 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 możesz to zrobić:

Używanie 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żywanie ścieżek 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#, możesz wykonać następujące kroki:

  1. Utwórz obiekt FileStream dla wyjściowego archiwum ZIP.
  2. Zainicjalizuj 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 przy użyciu ZipCrypto w C#

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

Oto jak utworzyć archiwum ZIP chronione hasłem przy użyciu 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 wybierać 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 demonstrują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 dla kompresji równoległej przy użyciu 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 w zależności od wpisów.

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

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 internetowe narzędzie do kompresji ZIP

Możesz również eksperymentować z naszą darmową 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 demonstrują, jak dodawać pliki i foldery do archiwów ZIP, tworzyć pliki ZIP chronione hasłem przy użyciu metod szyfrowania ZipCrypto i AES oraz konfigurować kompresję równoległą. Jeśli masz jakiekolwiek pytania lub potrzebujesz dalszej pomocy, nie wahaj się skontaktować z nami za pośrednictwem naszego forum.

Zobacz także

Rozpakowywanie lub ekstrakcja plików przy użyciu C#Rozpakowywanie plików w archiwach ZIP przy użyciu C#Tworzenie archiwów 7z (7-Zip) w C# .NET
Otwieranie lub ekstrakcja pliku 7z (7zip) w C# .NETTworzenie i ekstrakcja archiwów GZip przy użyciu C#Konwersja plików RAR do archiwum ZIP w C#
Konwersja archiwów ZIP do TAR w C#Tworzenie płaskiego archiwum ZIP w C#Tworzenie samorozpakowującego się archiwum w C#
Tworzenie plików TAR.GZ i TAR.XZ w C#Usuwanie plików w archiwum ZIP w C#Ekstrakcja zagnieżdżonych archiwów ZIP w C#
Scalanie wielu archiwów ZIP lub TAR w C#Jak tworzyć pliki ZIPEkstrakcja 7z online