ZIP do TGZ C#

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ń.

Zobacz także