
Jak wyodrębnić archiwum Zip do katalogu w C#
Pliki ZIP to wygodny sposób na zebranie wielu plików i katalogów w jednym archiwum. Niezależnie od tego, czy zarządzasz kopiami zapasowymi, dystrybuujesz oprogramowanie, czy udostępniasz pliki, sprawne wyodrębnianie plików z archiwów ZIP ma kluczowe znaczenie. IronZIP, potężna biblioteka .NET, upraszcza ten proces, udostępniając proste metody.
Jak wyodrębnić zawartość archiwum ZIP do katalogu w języku C#
- Zainstaluj bibliotekę IronZIP w swoim projekcie.
- Użyj metody
ExtractArchiveToDirectory()dostarczonej przez IronZIP. - Podaj ścieżkę do pliku ZIP (np. "output.zip") oraz docelowy katalog wyodrębniania (np. "extracted").
Czym jest IronZIP?
Biblioteka IronZIP to wszechstronna biblioteka C# obsługująca pliki ZIP w aplikacjach .NET. Niezależnie od tego, czy tworzysz oprogramowanie desktopowe, aplikacje internetowe czy narzędzia do automatyzacji, IronZIP ułatwia tworzenie, odczytywanie i wyodrębnianie archiwów ZIP.
Najważniejsze cechy
Wysoka wydajność: IronZIP posiada potężny silnik do kompresji i dekompresji plików, dzięki czemu działa szybko i zużywa mniej zasobów.
Łatwość użytkowania: Programiści mogą płynnie zintegrować IronZIP ze swoimi projektami. Biblioteka udostępnia proste metody pracy z plikami ZIP.
Integracja z NuGet: Zainstaluj IronZIP za pomocą menedżera pakietów NuGet, dzięki czemu będzie on dostępny dla Twojego rozwiązania C# do rozpakowywania archiwów zip do katalogu.
Kompatybilność międzyplatformowa: IronZIP obsługuje różne platformy, w tym Windows, Linux i macOS.
Dokumentacja i samouczki: Zapoznaj się z oficjalną dokumentacją i samouczkami, aby dowiedzieć się, jak efektywnie wykorzystywać IronZIP.
IronZIP zapewnia programistom niezawodne i wydajne rozwiązanie, niezależnie od tego, czy kompresują pliki do dystrybucji, zarządzają kopiami zapasowymi, czy obsługują archiwa danych.
Rozpakowywanie archiwum ZIP do katalogu
Zanim zaczniemy, musimy zainstalować bibliotekę IronZIP w naszym projekcie. Możemy ją dodać za pomocą konsoli NuGet Package Manager Console, używając następującego polecenia:
Powyższe polecenie zainstaluje bibliotekę IronZIP wraz z wymaganymi zależnościami w naszym projekcie.
Alternatywnie można również pobrać go z menedżera pakietów NuGet dla Solution, wyszukując "IronZIP".
Uwzględnij niezbędne dyrektywy using w swoim kodzie:
using IronZip;
using IronZip.Enum;Imports IronZip
Imports IronZip.EnumRozpakuj plik ZIP do wskazanego katalogu
IronZIP upraszcza proces rozpakowywania archiwum ZIP do katalogu. Możemy wyodrębnić pliki za pomocą zaledwie jednej linii kodu. Poniższy kod wyodrębni wszystkie pliki znajdujące się w podanej ścieżce.
internal class Program
{
static void Main(string[] args)
{
IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts");
}
}Friend Class Program
Shared Sub Main(ByVal args() As String)
IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts")
End Sub
End ClassPowyższy fragment kodu wyodrębnia zawartość pliku "Contracts.zip" i umieszcza ją w folderze docelowym o nazwie "Contracts". Jest to wygodny sposób na programowe przetwarzanie archiwów ZIP w aplikacjach napisanych w języku C#.
Wyjaśnienie
IronZipArchive: Jest to klasa z biblioteki IronZIP. Zapewnia metody i właściwości do pracy z plikami ZIP..ExtractArchiveToDirectory("Contracts.zip", "Contracts"):- Metoda
ExtractArchiveToDirectoryjest wywoływana na IronZipArchive. - Pierwszy argument,
"Contracts.zip", reprezentuje ścieżkę do pliku ZIP, który chcesz rozpakować. - Drugi argument,
"Contracts", określa katalog docelowy, w którym zamierzasz umieścić rozpakowane pliki.
- Metoda
Jeśli pliki już istnieją w określonym katalogu, zostaną one nadpisane. Wyodrębniony plik wygląda następująco:

Wyodrębnij archiwum ZIP chronione hasłem
IronZIP oferuje również metodę wyodrębniania plików skompresowanych chronionych hasłem. Poniższy przykład wyodrębni pliki z pliku ZIP chronionego hasłem.
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip")Powyższy kod wyodrębnia zawartość chronionego hasłem pliku ZIP o nazwie "PasswordProtectedContracts.zip" i umieszcza ją w katalogu o nazwie "Contracts". Podane hasło zapewnia bezpieczne wyodrębnienie chronionego pliku ZIP.
Dostęp do istniejącego archiwum
IronZIP umożliwia dostęp do istniejących plików ZIP bez konieczności ich wyodrębniania z określonego katalogu. Ta funkcjonalność jest ważna w takich scenariuszach, jak wyodrębnianie plików ze skompresowanych archiwów, sprawdzanie istnienia określonych wpisów, a nawet dynamiczne przeglądanie zawartości plików ZIP w odpowiedzi na interakcje użytkownika.
Wyświetl zawartość archiwum ZIP
Poniższy przykład kodu otworzy istniejący plik ZIP i wyświetli jego zawartość za pomocą funkcji PRINT w konsoli.
using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
// Get Entries list
List<string> names = zipArchive.GetArchiveEntryNames();
foreach (string name in names)
{
Console.WriteLine(name); // Print the name of each entry
}
}Using zipArchive = New IronZipArchive("Contracts.zip")
' Get Entries list
Dim names As List(Of String) = zipArchive.GetArchiveEntryNames()
For Each name As String In names
Console.WriteLine(name) ' Print the name of each entry
Next name
End UsingPowyższy kod używa IronZIP do sprawdzenia, co znajduje się w pliku ZIP o nazwie "Contracts.zip". Tworzy obiekt IronZipArchive, aby uzyskać listę nazw wpisów (takich jak nazwy plików) z archiwum przy użyciu metody GetArchiveEntryNames. Jeśli plik ZIP jest chroniony hasłem, możesz uwzględnić hasło podczas tworzenia obiektu IronZipArchive. Następnie kod PRINTuje nazwę każdego pliku w konsoli.
W ten sposób możemy pracować z określonymi wpisami w skompresowanym archiwum.
Oto wynik:

Sprawdź, czy określony wpis istnieje w pliku ZIP
Możemy również sprawdzić, czy określony wpis istnieje w podanym pliku ZIP. Poniższy kod przedstawia demonstrację.
using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
if (zipArchive.CheckArchiveEntryExist("Contract1.pdf"))
{
Console.WriteLine("File Exist");
}
}Using zipArchive = New IronZipArchive("Contracts.zip")
If zipArchive.CheckArchiveEntryExist("Contract1.pdf") Then
Console.WriteLine("File Exist")
End If
End UsingPowyższy kod używa biblioteki IronZIP do sprawdzenia, czy plik o nazwie "Contracts.zip" zawiera wpis o nazwie "Contract1.pdf". Robi to poprzez utworzenie obiektu IronZipArchive dla pliku ZIP. W bloku kodu znajduje się instrukcja "if" sprawdzająca, czy "Contract1.pdf" istnieje w pliku ZIP. Jeśli tak, drukuje "File Exists" na konsoli. Mówiąc prościej, ten kod pomaga sprawdzić, czy dany plik znajduje się w pliku ZIP, a jeśli tak, to informuje o tym.

Usuń wpis z istniejącego pliku ZIP
IronZIP udostępnia metodę usuwania wpisów z pliku ZIP. Poniższy kod usunie plik z istniejącego archiwum ZIP.
using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
zipArchive.DeleteArchiveEntry("Contract1.pdf");
}Using zipArchive = New IronZipArchive("Contracts.zip")
zipArchive.DeleteArchiveEntry("Contract1.pdf")
End UsingPowyższy kod pokazuje, jak użyć IronZIP do usunięcia wpisu z archiwum ZIP o nazwie "Contracts.zip". W bloku using określony plik o nazwie "Contract1.PDF" jest usuwany z archiwum. Operacja ta zapewnia efektywne zarządzanie plikami ZIP w aplikacjach C#.
Wnioski
Podsumowując, IronZIP jawi się jako cenne narzędzie dla programistów C#, upraszczające obsługę plików ZIP w różnych scenariuszach, niezależnie od tego, czy chodzi o wyodrębnianie plików do użytku biznesowego.

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.
Powiązane artykuły


