Create ZIP in C#

Wprowadzenie do archiwów ZIP

Archiwa ZIP są niezbędne do kompresji i konsolidacji jednego lub więcej plików lub folderów w jednym kontenerze. Ten format nie tylko zmniejsza rozmiar pliku do przechowywania i przesyłania, ale także zachowuje informacje o metadanych, co ułatwia zarządzanie plikami. Archiwa ZIP są powszechnie używane zarówno w aplikacjach desktopowych, jak i internetowych do zadań takich jak przesyłanie, pobieranie, udostępnianie i zabezpieczanie plików za pomocą szyfrowania.

W tym artykule zbadamy różne metody programatycznego tworzenia archiwów ZIP w C#. Nauczysz się, jak:

Biblioteka ZIP w C#

Aspose.ZIP dla .NET to solidne API zaprojektowane do kompresji i dekompresji plików i folderów w aplikacjach .NET. Oferuje funkcje takie jak szyfrowanie AES, aby zabezpieczyć Twoje pliki w archiwach ZIP. Możesz łatwo zainstalować API z NuGet lub pobrać pliki binarne z sekcji Pobieranie.

Utwórz archiwum ZIP w C#

Aby skompresować plik do archiwum ZIP, wykonaj następujące kroki:

  1. Utwórz obiekt FileStream dla wyjściowego archiwum ZIP.
  2. Otwórz plik źródłowy za pomocą obiektu 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 demonstrujący, jak dodać plik do archiwum ZIP za pomocą C#:

Dodaj wiele plików do archiwum ZIP w C#

Aby dodać wiele plików do archiwum ZIP, możesz wybrać jedną z następujących metod:

Używając FileStream

Wykorzystaj klasę FileStream, aby dodać wiele plików do archiwum ZIP za pomocą metody Archive.CreateEntry(String, FileStream). Oto jak:

Używając FileInfo

Alternatywnie możesz użyć klasy FileInfo, aby dodać pliki. Ta metoda ładuje pliki za pomocą klasy FileInfo i dodaje je do archiwum ZIP za pomocą metody Archive.CreateEntry(String, FileInfo). Zobacz przykład poniżej:

Używając ścieżki pliku

Możesz także dodać pliki bezpośrednio, podając ich ścieżki do metody Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Oto jak:

Dodaj foldery do archiwum ZIP w C#

Dodanie folderu do archiwum ZIP może być wygodnym sposobem na uwzględnienie wielu plików. Aby skompresować folder 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 do skompresowania.
  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 demonstrujący, jak dodać folder do archiwum ZIP w C#:

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

Aby zwiększyć bezpieczeństwo, możesz utworzyć archiwa ZIP zabezpieczone hasłem, korzystając z szyfrowania ZipCrypto. Osiąga się to poprzez użycie klasy ArchiveEntrySettings w konstruktorze klasy Archive, co pozwala określić typ szyfrowania.

Oto przykład, jak stworzyć archiwum ZIP zabezpieczone hasłem za pomocą ZipCrypto w C#:

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

Biblioteka Aspose.ZIP dla .NET obsługuje również szyfrowanie AES dla zabezpieczania 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. Oto jak utworzyć archiwum ZIP zabezpieczone hasłem z szyfrowaniem AES w C#:

Ustaw tryb kompresji równoległej

W przypadku wielu wpisów możesz skonfigurować API do kompresji równoległej, korzystając z klasy ParallelOptions. Aspose.ZIP dla .NET oferuje kilka trybów kompresji równoległej:

  • Nigdy - Nie kompresuj równolegle.
  • Zawsze - Zawsze kompresuj równolegle (uważaj na problemy z brakiem pamięci).
  • Auto - Automatycznie zdecyduj, czy użyć kompresji równoległej w zależności od wpisów.

Oto przykład demonstrujący, jak ustawić tryb kompresji równoległej podczas kompresji wielu plików:

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

Zgłębiaj naszą bibliotekę ZIP C# za pomocą następujących zasobów:

Wypróbuj archiwa ZIP online

Zbadaj 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 programatycznie tworzyć archiwa ZIP w C#. Podane przykłady kodu demonstrują, jak dodawać pliki i foldery do archiwów ZIP. Dodatkowo omówiliśmy, jak tworzyć archiwa ZIP zabezpieczone hasłem, korzystając zarówno z metod szyfrowania ZipCrypto, jak i AES. Poruszyliśmy również kwestię kompresji równoległej w celu efektywnego obsługiwania dużych plików. Jeśli masz jakiekolwiek pytania lub potrzebujesz dalszej pomocy, śmiało 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#Utwórz archiwa 7z (7-Zip) w C# .NET
Otwórz lub wyodrębnij plik 7z (7zip) w C# .NETUtwórz i wyodrębnij archiwa 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 w C#
Utwórz pliki 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