IRONSOFTWAREHOME
UŻYCIE IRONZIP

Jak spakować pliki w folderze używając C#

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Pliki ZIP to pliki, które zawierają jeden lub więcej skompresowanych plików lub folderów przy użyciu formatu ZIP. Jest to powszechny sposób kompresowania i archiwizowania wielu plików lub folderów do jednego pliku. Mogą one zmniejszać rozmiar danych, oszczędzać miejsce na dysku i ułatwiać przenoszenie plików przez internet. W tym artykule dowiesz się, jak pracować z ZIP plikami w C# używając biblioteki IronZIP. Zobaczysz, jak programowo tworzyć, czytać, wyodrębniać i aktualizować pliki ZIP oraz jak używać różnych funkcji IronZIP, takich jak szyfrowanie, ochrona hasłem i poziomy kompresji. Pod koniec tego artykułu będziesz w stanie z łatwością obsługiwać pliki ZIP w swoich aplikacjach C# za pomocą IronZIP.

Co zawrzemy w tym artykule

  1. Instalacja IronZIP w naszym projekcie
  2. Tworzenie pliku ZIP
  3. Tworzenie pliku ZIP zabezpieczonego hasłem
  4. Wyodrębnianie pliku ZIP
  5. Wyodrębnianie pliku ZIP zabezpieczonego hasłem
  6. Dostęp do istniejącego archiwum ZIP

Czym jest IronZIP?

IronZIP to potężna i wszechstronna biblioteka archiwów ZIP dla C#, która pozwala tworzyć, czytać i wyodrębniać pliki ZIP programowo. It supports various archive formats, such as ZIP, TAR, GZIP, and BZIP2. Obsługuje także ochronę hasłem, szyfrowanie i poziomy kompresji. IronZIP jest kompatybilny z .NET 8, 7, 6, Core, Standard i Framework.

IronZIP może pomóc ci w obsłudze różnych przypadków użycia i korzyści wynikających z pracy z plikami ZIP, takich jak:

  1. Tworzenie systemu kopii zapasowej: Możesz użyć IronZIP do kompresji i szyfrowania ważnych plików i folderów do archiwum ZIP i przechowywania ich w bezpiecznym miejscu. W ten sposób, możesz oszczędzić miejsce na dysku i chronić dane przed nieautoryzowanym dostępem.
  2. Wysyłanie załączników e-mailem: Możesz użyć IronZIP do zmniejszenia rozmiaru załączników e-mail poprzez skompresowanie ich do pliku ZIP. To może pomóc ci uniknąć przekroczenia limitu rozmiaru pliku i przyspieszyć proces przesyłania.
  3. Ściąganie plików z internetu: Możesz użyć IronZIP do ściągania i wyodrębniania plików ZIP z internetu, takich jak pakiety oprogramowania, dokumenty, obrazy i inne rodzaje plików. To może pomóc ci zaoszczędzić przepustowość i czas oraz łatwo uzyskać dostęp do potrzebnych plików.

Pierwsze kroki z IronZIP

Przed napisaniem kodu należy zainstalować pakiet IronZIP NuGet w projekcie C#. IronZIP to popularna biblioteka kompresji dostępna przez NuGet.

Instalacja biblioteki IronZIP

Aby zainstalować IronZIP, możesz użyć Konsoli Menedżera Pakietów NuGet w Visual Studio. Po prostu uruchom następujące polecenie:

PM > Install-Package IronZip

Alternatywnie, możesz pobrać pakiet bezpośrednio z oficjalnej strony IronZIP. Po zainstalowaniu, możesz zacząć, dodając następującą przestrzeń nazw do góry swojego kodu C#.

using IronZip;

Tworzenie plików ZIP w folderze

Możesz łatwo tworzyć pliki ZIP w folderze używając IronZIP. Następujący kod spakuje wszystkie pliki z określonego katalogu.

using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");
        
        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}

Powyższy kod C# używa biblioteki IronZIP do kompresji wszystkich plików do pojedynczego pliku ZIP. Kod robi następujące:

  • Deklaruje tablice stringow o nazwie fileArray i przypisuje jej wynik metody Directory.GetFiles, przekazujac sciezke katalogu ("D:\Docs") jako parametr. Ta metoda zwraca tablicę łańcuchów zawierających pełne nazwy wszystkich plików w określonym katalogu.
  • Tworzy nowa instancje klasy IronZipArchive, ktora reprezentuje archiwum ZIP w pamieci. Instancja jest przypisana do zmiennej o nazwie archive i jest zawinieta w instrukcje using, co zapewnia usuniecie archiwum ZIP po zakonczeniu bloku kodu.
  • Iteruje przez tablice fileArray uzywajac petli foreach, i dla kazdego pliku wywoluje metode Add obiektu archive, przekazujac nazwe pliku jako parametr. Ta metoda dodaje nowy wpis do archiwum ZIP, o tej samej nazwie i zawartości co plik.
  • Wywoluje metode SaveAs obiektu archive, przekazujac nazwe pliku ZIP ("myZipFile.zip") jako parametr. Ta metoda zapisuje archiwum ZIP do pliku w obecnym systemie plików.

W ten sposób możesz łatwo tworzyć nowe archiwa ZIP używając tylko kilku linii kodu.

Wynik

Wyjście jest następujące:

Jak spakowac pliki w folderze uzywajac C#: Rysunek 1 - Pliki wyjsciowe z poprzedniego przykladu kodu

Utwórz plik ZIP zabezpieczony hasłem

IronZIP oferuje łatwą metodę tworzenia plików ZIP zabezpieczonych hasłem. Następujący przykład kodu spakuje pliki i utworzy nowy plik ZIP z hasłem.

using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");
        
        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Set Password and Encryption Method
            archive.Encrypt("myPa55word", EncryptionMethods.AES256);
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}

Linia archive.Encrypt("myPa55word", EncryptionMethods.AES256); ustawia haslo ("myPa55word") dla archiwum ZIP przy uzyciu IronZIP. Zwieksza bezpieczenstwo poprzez zastosowanie szyfrowania AES-256 do archiwum, co zapewnia, ze tylko uzytkownicy z poprawnym haslem moga uzyskac dostep do jego zawartosci. Ta funkcja jest wartościowa dla ochrony danych wrażliwych podczas przechowywania lub transferu w aplikacjach C#. Musisz przekazać określony tryb algorytmu szyfrowania w drugim parametrze.

Plik jest zaszyfrowany, jak pokazano poniżej.

Wynik

Jak spakowac pliki w folderze uzywajac C#: Rysunek 2 - Wyjsciowy zaszyfrowany plik z poprzedniego przykladu kodu

Widzieliśmy demonstrację tworzenia pliku ZIP poprzez przechodzenie przez katalogi z określonej ścieżki. Teraz przejdźmy do przykładu rozpakowywania plików.

Wyodrębnianie plików z archiwum ZIP

IronZIP oferuje metodę wyodrębniania plików z archiwum ZIP w C#. Następujący przykład kodu wyodrębni skompresowany plik w archiwum ZIP.

using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
    }
}

Kod IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles"); uzywa IronZIP do wyodrebnienia wszystkich plikow z "myZipFile.zip" i umieszcza je w katalogu "myExtractedFiles". Ta zwięzła metoda upraszcza proces wyodrębniania archiwów ZIP w C#, dostarczając wygodne rozwiązanie dla zadań związanych z wyodrębnianiem plików.

Wynik

Wyjście jest następujące:

Jak spakowac pliki w folderze uzywajac C#: Rysunek 3 - Pliki wyjsciowe z poprzedniego przykladu kodu

Jak wyodrębnić z pliku ZIP zabezpieczonego hasłem

IronZIP oferuje także metodę wyodrębniania plików ZIP zabezpieczonych hasłem. Następujący kod użyje metody IronZIP do wyodrębnienia wszystkich istniejących plików i katalogów z określonego pliku ZIP.

using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the password-protected ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
    }
}

Metoda ExtractArchiveToDirectory klasy IronZipArchive wyodrebnia wszystkie wpisy z archiwum ZIP do okreslonego katalogu. Przekazuje trzy argumenty do metody: ścieżkę do pliku ZIP ('myZipFile.zip'), ścieżkę do katalogu docelowego ('myExtractedFiles') oraz hasło do pliku ZIP ('myPa55word').

W ten sposób łatwo możesz wyodrębnić pliki ZIP zabezpieczone hasłem.

Jak dostąpić do istniejącego archiwum

IronZIP oferuje metody dostępu do istniejącego archiwum i wyświetlenia wszystkich wpisów obecnych w pliku.

using System;
using System.Collections.Generic;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Open an existing ZIP archive with a password
        using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
        {
            // Get entries list
            List<string> names = archive.GetArchiveEntryNames();
            // Iterate through each entry name and print it
            foreach (string name in names)
            {
                Console.WriteLine(name);
            }
        }
    }
}

Podany kod C# wykorzystuje IronZIP do stworzenia bezpiecznej instancji IronZipArchive przez zaladowanie pliku ZIP o nazwie "myZipFile.zip" z haslem "myPa55word". Nie przekazuj parametru hasła, jeśli plik nie jest zaszyfrowany. Następnie pobiera i wypisuje listę nazw wpisów (nazw plików i folderów) wewnątrz zaszyfrowanego archiwum ZIP.

Metoda GetArchiveEntryNames zbiera nazwy wpisow, a petla foreach wypisuje kazda nazwe na konsole. To pokazuje, jak IronZIP umożliwia bezpieczny dostęp i pobieranie informacji o wpisach z zabezpieczonych hasłem archiwów ZIP w zwięzły sposób.

Wynik

Jak spakowac pliki w folderze uzywajac C#: Rysunek 4 - Wynik z poprzedniego przykladu kodu

Wnioski

Podsumowując, IronZIP okazuje się być solidną i wszechstronną biblioteką C# do pracy z plikami ZIP. Jego możliwości wykraczają poza podstawowe kompresowanie i wyodrębnianie, oferując funkcje takie jak ochrona hasłem, szyfrowanie i kompatybilność z różnymi formatami archiwów. Niezależnie od tego, czy tworzysz systemy kopii zapasowych, zarządzasz załącznikami e-mail czy ściągasz pliki z internetu, IronZIP upraszcza te zadania z prostotą i efektywnością.

Implementując IronZIP w swoich aplikacjach C#, zyskujesz potężne narzędzie do obslugi plików ZIP, zwiększając bezpieczeństwo danych i optymalizując procesy transferu plików. Możesz skorzystać z darmowego okresu próbnego według potrzeb.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta