
W tym wpisie na blogu pokażemy, jak konwertować pliki ZIP do formatu TGZ(tar.gz) za pomocą języka C#. Konwersja z formatu ZIP do TGZ to typowe zadanie, zwłaszcza w przypadku skompresowanych plików dla systemów typu Unix. Poniższy samouczek zawiera wyjaśnienie krok po kroku i niezbędny kod, aby rozpocząć pracę.
Dlaczego warto konwertować kod ZIP na TGZ?
Konwersja pliku ZIP do formatu TGZ może być konieczna z różnych powodów, na przykład:
Zgodność międzyplatformowa: pliki TGZ są powszechnie używane w systemach opartych na systemie Unix (Linux, macOS), podczas gdy pliki ZIP są popularne w systemie Windows. Konwersja ZIP do TGZ ułatwia obsługę skompresowanych plików w różnych środowiskach.
Zalety kompresji: Pliki TGZ oferują zazwyczaj lepszy współczynnik kompresji w porównaniu do plików ZIP, co pozwala zaoszczędzić miejsce na dysku i skrócić czas przesyłania.
Automatyzacja zadań: W języku C# automatyzacja konwersji formatów plików pozwala zaoszczędzić czas i wysiłek, zwłaszcza w aplikacjach przetwarzających duże ilości danych.
Konwerter ZIP na TGZ — konfiguracja interfejsu API C#
Możesz przekonwertować ZIP na TGZ, instalując Conholdate.Total for .NET i uruchamiając następujące polecenie NuGet w środowisku IDE programu Visual Studio:
PM> NuGet\Install-Package Conholdate.Total
Konwersja ZIP do TGZ w C#
Poniższe kroki pokazują, jak przekonwertować ZIP na TGZ w języku C#:
Ładowanie pliku ZIP: Klasa Archive ładuje plik źródłowy ZIP zawierający wpisy, które chcesz przekonwertować do formatu TGZ.
Tworzenie TarArchive: Tworzymy obiekt TarArchive, aby rozpocząć przygotowywanie zawartości pliku TGZ.
Przetwarzanie wpisów: Każdy wpis w pliku ZIP jest iterowany. Jeśli nie jest to katalog, wyodrębniamy jego dane do MemoryStream.
Dodawanie wpisów do TarArchive: Dla każdego prawidłowego wpisu używana jest metoda CreateEntry w celu dodania pliku do archiwum tarball wraz z danymi zapisanymi w pamięci.
Zapisywanie jako TGZ: Metoda SaveGzipped jest wywoływana w celu skompresowania i zapisania pliku tarball jako pliku .tar.gz.
Poniższy fragment kodu prezentuje konwersję ZIP na TGZ w języku C#:
using (Archive source = new Archive("source.zip"))
{
using (Aspose.Zip.Tar.TarArchive tar = new Aspose.Zip.Tar.TarArchive())
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
tar.CreateEntry(entry.Name, mem);
}
}
tar.SaveGzipped("result.tar.gz");
}
}
Bezpłatna licencja ewaluacyjna
Możesz poprosić o bezpłatną tymczasową licencję, aby przetestować konwersję ZIP bez żadnych ograniczeń ewaluacyjnych w swoim środowisku.
Wniosek
Konwersja ZIP do TGZ w C# to prosty proces przetwarzania skompresowanych archiwów. Niezależnie od tego, czy masz do czynienia z udostępnianiem plików między platformami, czy optymalizacją rozmiarów plików, ten proces konwersji jest bardzo korzystny. Postępując zgodnie z podanym przykładem kodu, możesz zautomatyzować konwersję ZIP do TGZ w swoich aplikacjach .NET, zapewniając zgodność i wydajność w zarządzaniu skompresowanymi plikami. W przypadku pytań prosimy o kontakt na forum.
Często zadawane pytania
Czy format TGZ jest obsługiwany w systemie Windows?
Tak. Pliki TGZ można wyodrębnić i utworzyć także w systemie Windows, choć jest to rozwiązanie bardziej powszechne w systemach opartych na systemie Unix.
Czy mogę uwzględnić katalogi w archiwum TGZ?
Tak, kod można zmodyfikować, tak aby uwzględniał katalogi, poprzez usunięcie sprawdzenia !entry.IsDirectory i odpowiednią obsługę katalogów.
Czy można zautomatyzować konwersję kodu ZIP na TGZ?
Tak, dostarczony kod można zintegrować z większymi aplikacjami C#, co pozwala na zautomatyzowane konwersje w partiach lub w ramach zaplanowanych zadań.