
Samouczek Archiwum ZIP dla deweloperów C# używających IronXL
Wprowadzenie do ZipArchive
Kiedy myślisz o wysłaniu pliku w skompresowanym formacie, pierwszą rzeczą, która przychodzi na myśl, jest zazwyczaj archiwum ZIP. Archiwum ZIP to popularny format służący do kompresji i pakowania pojedynczego pliku lub całej kolekcji w jednym archiwum. Jednak w przypadku dużych ilości plików do skompresowania praca z nimi może stać się frustrująca, ponieważ trzeba by je archiwizować i formatować jeden po drugim. Ale nie musi tak być. Zadania o dużej objętości wymagają automatyzacji w celu wykonania programowego. Możemy użyć IronZIP, prostej, ale intuicyjnej biblioteki, aby to wszystko i więcej osiągnąć.
W tym artykule omówimy krótko podstawowe funkcje i cechy IronZIP oraz jak może pomóc w lepszej automatyzacji przepływu pracy, zwiększeniu wydajności i wyeliminowaniu błędów wrażliwych na błędy zadania ręcznego.
Tworzenie nowego pliku ZIP z folderu lub plików
Poniżej znajduje się przykład, który pobiera wiele plików, kompresuje je do jednego archiwum ZIP i eksportuje po zakończeniu operacji. Wszystkie przyklady w tym artykule sa zamkniete w metodzie static void Main(), aby uniknac powtarzajacych sie blokow kodu.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Create an empty ZIP archive
using (var archive = new IronZipArchive())
{
// Add files to the ZIP archive
archive.Add("./assets/image1.jpg");
archive.Add("./assets/image2.jpg");
archive.Add("./assets/image3.jpg");
// Export the ZIP archive to a file
archive.SaveAs("output.zip");
}
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create an empty ZIP archive
Using archive = New IronZipArchive()
' Add files to the ZIP archive
archive.Add("./assets/image1.jpg")
archive.Add("./assets/image2.jpg")
archive.Add("./assets/image3.jpg")
' Export the ZIP archive to a file
archive.SaveAs("output.zip")
End Using
End Sub
End Class- Najpierw importujemy IronZIP.
- Następnie, używając IronZIP, tworzymy archiwum.
- Wywolujemy
archive.Add(), aby dodac wiele plikow do archiwum. Pamietaj, ze nazwy sciezek musza byc sciezkami bezwzglednymi, w przeciwnym razie operacja nie znajdzie odpowiednich plikow. - Na koniec wywolujemy
archive.SaveAs(), aby wyeksportowac archiwum zip jakooutput.zip.
Aktualizacja istniejącego pliku ZIP o nowe pliki lub modyfikacje
Przejdźmy do kolejnego przykładu; Tym razem edytujemy istniejące archiwum zip, dodając nowe pliki, aby przedstawić funkcjonalność IronZIP.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Open an existing ZIP archive
using (var archive = IronZipArchive.FromFile("existing.zip"))
{
// Add additional files to the existing ZIP archive
archive.Add("./assets/image3.png");
archive.Add("./assets/image4.png");
// Export the updated ZIP archive to a new file
archive.SaveAs("result.zip");
}
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Open an existing ZIP archive
Using archive = IronZipArchive.FromFile("existing.zip")
' Add additional files to the existing ZIP archive
archive.Add("./assets/image3.png")
archive.Add("./assets/image4.png")
' Export the updated ZIP archive to a new file
archive.SaveAs("result.zip")
End Using
End Sub
End Class- Najpierw importujemy IronZIP.
- Uzywajac IronZIP, tworzymy archiwum, ale tym razem importujemy istniejacy plik zip za pomoca
IronZipArchive.FromFile(). - Wywolujemy
archive.Add(), aby dodac wybrane pliki do archiwum. Pamietaj, ze nazwy sciezek musza byc sciezkami bezwzglednymi, w przeciwnym razie operacja nie znajdzie istniejacych plikow. - Na koniec wywolujemy
archive.SaveAs(), aby wyeksportowac zaktualizowane archiwum zip jakoresult.zip.
Jak widać z powyższego kodu, operacja i format są podobne do tych używanych do tworzenia i dodawania plików do pliku Zip. Główna różnica polega na tym, że zamiast tego importujemy plik zip, prezentując prostą, ale intuicyjną funkcjonalność IronZIP.
Wyodrębnianie plików z archiwum ZIP
Możemy również użyć IronZIP do ekstrakcji plików z archiwum Zip lub pakietu Zip. Przyjrzyjmy się temu na innym przykładzie.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract the ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract the ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted")
End Sub
End ClassImportujemy IronZIP i wywolujemy IronZipArchive.ExtractArchiveToDirectory(). Ta metoda wyodrębnia zawartość istniejącego archiwum ZIP do określonego katalogu docelowego.
Ponadto w przypadkach, gdy trzeba mieć do czynienia z archiwami ZIP chronionymi hasłem, możemy użyć innej metody do wyodrębnienia zawartości archiwów.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract the protected ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd");
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract the protected ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd")
End Sub
End ClassNa koniec przekazujemy kolejny parametr: hasło do chronionego archiwum ZIP. Pozostała część operacji przebiega tak samo, jak pokazano powyżej.
Zaawansowane tematy i najlepsze praktyki
Omówione powyżej przykłady kodu dotyczące dodawania, wyodrębniania i tworzenia archiwów są najczęściej spotykane w przypadku archiwów ZIP. Jednak w przypadku bardziej zaawansowanych zastosowań, takich jak wyodrębnianie innych formatów lub po prostu przeglądanie zawartości archiwum, IronZIP spełni Twoje oczekiwania i nie tylko.
Zaawansowane funkcje IronZIP
-
Kompatybilność między platformami: IronZIP jest kompatybilny z szeroką gamą wersji .NET, w tym .NET Core (3.1+), .NET Standard (2.0+) oraz .NET Framework (4.6.2+). Biblioteka działa również w środowisku internetowym (Blazor), mobilnym (MAUI), stacjonarnym (WPF) oraz konsolowym. Dzięki temu programiści mogą przekroczyć ograniczenia związane z platformą i wersją.
-
Tworzenie archiwów: Oprócz formatu ZIP, IronZIP obsługuje tworzenie archiwów TAR, GZIP i BZIP2.
-
Rozpakowywanie archiwów: Łatwo rozpakowuj archiwa i dekompresuj pliki za pomocą IronZIP, używając jednego bloku kodu, jak pokazano powyżej.
-
Dodawanie plików i systemów plików: IronZIP ułatwia obsługę archiwów ZIP poprzez dodawanie obrazów, plików tekstowych i dokumentów (takich jak PDF, DOCX i XLSX), a także plików audio, takich jak MP3 i WAV. Może nawet kompresować całe systemy plików lub pojedyncze pliki tekstowe do archiwum ZIP.
-
Eksportuj i twórz: Możesz zabezpieczyć archiwa hasłem przy użyciu standardów AES128 i AES256. Dodatkowo można generować i eksportować formaty takie jak TAR, GZIP i BZIP2.
-
Niestandardowe poziomy kompresji: IronZIP pozwala programistom dostosować ustawienia kompresji, aby precyzyjnie dostosować algorytm do ich potrzeb.
-
Edycja archiwów: Łatwe dodawanie, wyodrębnianie lub usuwanie wpisów plików w archiwum przy użyciu IronZIP jako kompleksowego rozwiązania do operacji związanych z edycją.
-
Właściwości wpisów plików: IronZIP umożliwia ustawianie opcjonalnych komentarzy do archiwum oraz pobieranie nazw plików z archiwum bez ich wyodrębniania, co ułatwia dodawanie konkretnych komentarzy do każdego pliku.
-
Opcje licencyjne: IronZIP oferuje elastyczne opcje licencyjne, w tym bezpłatne wersje próbne, co pozwala programistom wybrać rozwiązanie najlepiej odpowiadające ich wymaganiom.
Wnioski
Obsługa plików skompresowanych i archiwów to codzienne zadanie, z którym często mają do czynienia programiści, ale zarządzanie dużą ich ilością może być stresujące i podatne na błędy ludzkie. Chociaż istnieją opcje takie jak System.IO.Compression, użycie IronZIP pozwala osiągnąć więcej i szybko rozwiązać problemy związane z archiwami skompresowanymi. W tym artykułe omówiliśmy zaawansowane funkcje IronZIP oraz typowe operacje, takie jak tworzenie archiwów ZIP, usuwanie wpisów lub dodawanie plików. Zrozumienie, jak wykonywać te zadania programowo za pomocą IronZIP, prowadzi do zwiększenia wydajności, skalowalności i automatyzacji obsługi archiwów.

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



