Konwersja Zip za pomocą C#

konwertuj ZIP na różne formaty archiwów plików

Jak przekonwertować Zip za pomocą C#

Konwertowanie plików ZIP przy użyciu języka C# można ułatwić dzięki Aspose.Zip dla .NET, potężnemu interfejsowi API , który upraszcza ten proces. Biblioteka umożliwia programistom wykonywanie różnych operacji, w tym wyodrębnianie i tworzenie plików ZIP, a także ochronę hasłem i dostosowywanie poziomu kompresji. Korzystając z odpowiednich metod dostarczonych przez Aspose.Zip, programiści mogą z łatwością obsługiwać konwersje plików ZIP w wielu popularnych formatach plików archiwalnych, takich jak RAR , CPIO , CAB , TAR i inne.

Konwersja jednego archiwum do innego jest zasadniczo połączeniem rozpakowania pierwszego i kompozycji drugiego. Można przechowywać tymczasowo wyodrębnione dane w pamięci RAM bez konieczności opróżniania ich na dysk. Uważaj na zużycie pamięci i dowiedz się, ile pamięci możesz przeznaczyć na przechowywanie tych wpisów.

Przewodnik programisty — konwersja archiwum

Dostarczony fragment kodu demonstruje, jak przekonwertować archiwum RAR do formatu ZIP w języku C#. Wykorzystuje bibliotekę Aspose.Zip do łatwego wyodrębniania wpisów RAR, a następnie tworzenia odpowiednich wpisów w archiwum ZIP.

Przeanalizujmy ten przykład krok po kroku:

  1. Instancja archiwum ZIP przygotowana do kompresji. Wypełnimy go wpisami dotyczącymi kolejnych kroków.
  2. Instantiate Rar Archive przygotowane do dekompresji, podając ścieżkę do archiwum.
  3. Wyciąg każdy wpis do magazynu tymczasowego.
  4. Utwórz wpis zip z tego magazynu. Jeśli wpis reprezentuje katalog, po prostu używamy jego ścieżki.
  5. Zapisz archiwum w podanej ścieżce.

Konwertuj z RAR na ZIP

Dostarczony fragment kodu demonstruje, jak przekonwertować archiwum RAR do formatu ZIP w języku C#. Wykorzystuje bibliotekę Aspose.Zip do łatwego wyodrębniania wpisów RAR, a następnie tworzenia odpowiednich wpisów w archiwum ZIP.

  using (Archive zip = new Archive())
  {
    using (RarArchive rar = new RarArchive("archive.rar"))
    {
      for (int i = 0; i < rar.Entries.Count; i++)
      {
        if (!rar.Entries[i].IsDirectory)
        {
          var ms = new MemoryStream();
          rar.Entries[i].Extract(ms);
          ms.Seek(0, SeekOrigin.Begin);
          zip.CreateEntry(rar.Entries[i].Name, ms);
        }
        else
          zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
      }
    }

    zip.Save("output.zip");
  }

Konwersja z ZIP do 7Z

Fragment kodu przedstawia konwersję archiwum ZIP do formatu 7Z za pomocą języka C#. Wykorzystując bibliotekę SevenZipArchive, skrypt wyodrębnia wpisy ZIP i tworzy odpowiadające im wpisy w archiwum 7Z.

Przejrzyjmy ten przykład krok po kroku:

1. Utwórz utworzenie archiwum 7z przygotowany do kompresji. Wypełnimy go wpisami w kolejnych krokach.
2. Utwórz archiwum ZIP przygotowane dla dekompresja, podanie ścieżki do archiwum.
3. Wyciąg każdy wpis do magazynu tymczasowego.
4. Utwórz wpis 7z z tego magazynu.
5. Zapisz archiwum w podanej ścieżce.

  using (SevenZipArchive sevenZipArchive =  new SevenZipArchive())
  {
    using (Archive archive = new Archive("source.zip"))
    {
      for (int i = 0; i < archive.Entries.Count; i++)
      {
        var ms = new MemoryStream();
        archive.Entries[i].Extract(ms);
        ms.Seek(0, SeekOrigin.Begin);
        sevenZipArchive.CreateEntry(archive.Entries[i].Name.Replace('\\', '/'), ms);
      }
    }

    sevenZipArchive.Save("output.7z");
  }

Konwertuj plik TAR.GZ do ZIP

Poniższy fragment kodu demonstruje konwersję pliku TAR.GZ (GZIP) do formatu ZIP za pośrednictwem języka C#. Klasa TarArchive posiada wygodne metody pracy ze skompresowanymi archiwami tar, zwłaszcza spakowanymi w formacie gzip, skrypt wyodrębnia wpisy z pliku TAR.GZ i tworzy odpowiadające im wpisy w archiwum ZIP.

using (Archive zip = new Archive())
{
  using (TarArchive archive = TarArchive.FromGZip("source.tar.gz"))
  {
  for (int i = 0; i < archive.Entries.Count; i++)
  {
    var ms = new MemoryStream();
    archive.Entries[i].Extract(ms);
    ms.Seek(0, SeekOrigin.Begin);
    zip.CreateEntry(archive.Entries[i].Name, ms);
    }
  }
  zip.Save("output.zip");
}

Funkcje konwersji w dokumentacji

Aspose.Zip .NET API jest znane ze swoich solidnych możliwości obsługi złożonych konwersji archiwów, umożliwiając bezproblemową transformację pomiędzy różnymi formatami archiwów z najwyższą wydajnością i niezawodnością. Dzięki możliwości konwertowania plików ZIP na inne popularne formaty archiwów i odwrotnie, programiści mogą zapewnić integralność danych i optymalną wydajność na różnych platformach i aplikacjach. Ta niezbędna funkcja konwersji upraszcza proces przesyłania, przechowywania i udostępniania danych, zapewniając płynną kompatybilność z różnorodnymi środowiskami oprogramowania. Wykorzystując interfejs API Aspose.Zip .NET, użytkownicy mogą bez wysiłku manipulować plikami archiwalnymi i ułatwiać bezproblemową integrację z wybranymi aplikacjami, zwiększając w ten sposób swoją produktywność i efektywność przepływu pracy. Przestrzeń nazw ZIP zawiera klasy reprezentujące archiwum zip i typowe podmioty powiązane z archiwami.

Instalowanie biblioteki Aspose.Zip dla .NET

Jeśli do wdrożenia Aspose.ZIP użyłeś instalatora MSI, wykonaj poniższe kroki, aby całkowicie usunąć komponent oraz powiązane z nim wersje demonstracyjne i dokumentację:

  1. Z menu Start wybierz Ustawienia, a następnie Panel sterowania.
  2. Kliknij Dodaj/Usuń programy.
  3. Wybierz Aspose.ZIP.
  4. Kliknij przycisk Zmień/Usuń, aby usunąć Aspose.ZIP.
    Aby uzyskać więcej informacji na temat instalacji biblioteki C#, zapoznaj się z Dokumentacją Aspose.ZIP .

Inne obsługiwane konwersje plików archiwum

Możesz także konwertować pliki CAB, RAR, TAR, CPIO, TAR.BZ2, TAR.GZ, TAR.LZ, TAR.XZ, TAR.Z na wiele innych formatów plików, w tym kilka wymienionych poniżej: