RAR do ZIP C#

Konwersja plików RAR do formatu ZIP jest powszechnym wymogiem przy pracy ze skompresowanymi archiwami. ZIP jest szeroko obsługiwany na różnych platformach, co czyni go bardziej wszechstronnym wyborem do udostępniania i przechowywania. W tym wpisie na blogu przejdziemy przez rozwiązanie wykorzystujące C# do konwersji archiwów RAR do formatu ZIP.

Dlaczego warto konwertować RAR do ZIP?

Istnieje kilka powodów, dla których warto przekonwertować pliki RAR do formatu ZIP:

  • Zgodność międzyplatformowa: W porównaniu do RAR, format ZIP jest obsługiwany na większej liczbie systemów i platform.

  • Obsługa natywna: Wiele systemów operacyjnych, np. Windows i macOS, umożliwia natywne rozpakowywanie plików ZIP bez konieczności korzystania z oprogramowania innych firm.

  • Efektywność kompresji: Kompresja ZIP jest efektywna i zapewnia równowagę między rozmiarem pliku a szybkością.

Przejdźmy teraz do instalacji, przewodnika krok po kroku i przykładu kodu.

Konwerter archiwów RAR do ZIP — konfiguracja interfejsu API C#

Możesz przekonwertować skompresowane formaty archiwów samodzielnie, instalując Conholdate.Total for .NET za pomocą następującego polecenia instalacyjnego w konsoli NuGet Package Manager:

PM> NuGet\Install-Package Conholdate.Total

Konwersja RAR do ZIP w C#

Aby to osiągnąć, użyjemy biblioteki Aspose.Zip, która jest częścią pakietu Conholdate.Total for .NET. Poniżej znajduje się szczegółowy opis konwersji pliku RAR na plik ZIP:

  • Zainicjuj archiwum ZIP: Zacznijmy od utworzenia nowego obiektu Aspose.Zip.Archiwum, który będzie reprezentował plik ZIP.
  • Otwórz i rozpakuj plik RAR: Załaduj plik RAR za pomocą Aspose.Zip.Rar.RarArchive i rozpakuj każdy wpis. Pliki i katalogi w archiwum RAR są obsługiwane osobno.
  • Dodaj wpisy do archiwum ZIP: Dla każdego wpisu (pliku lub katalogu) w pliku RAR dodajemy go do archiwum ZIP. Pliki są zapisywane jako wpisy ZIP, podczas gdy katalogi są tworzone jako puste wpisy.
  • Zapisz plik ZIP: Po dodaniu wszystkich wpisów zapisz archiwum ZIP w żądanej lokalizacji docelowej.

Poniższy fragment kodu pokazuje, jak przekonwertować plik RAR na ZIP w języku C#:

using (Aspose.Zip.Archive zip = new Aspose.Zip.Archive())
{
    using (Aspose.Zip.Rar.RarArchive rar = new Aspose.Zip.Rar.RarArchive("archvie.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");
}

Bezpłatna licencja ewaluacyjna

Możesz uzyskać bezpłatną licencję tymczasową, aby wypróbować tę i wiele innych funkcji umożliwiających manipulowanie skompresowanymi plikami archiwalnymi lub ich konwersję w swoim środowisku.

Wniosek

Konwersja pliku RAR do pliku ZIP w C# wymaga tylko kilku wywołań metod bez martwienia się o drobne szczegóły lub strukturę skompresowanych formatów plików. Postępując zgodnie z tym podejściem, możesz łatwo wyodrębnić pliki z archiwum RAR i skompresować je do formatu ZIP. Zapewnia to większą kompatybilność i dostępność plików na różnych platformach. Natomiast jeśli chcesz omówić jakiekolwiek swoje pytania, napisz do nas na forum.

Często zadawane pytania

Czy struktura katalogów zostaje zachowana podczas konwersji?

Tak, kod zachowuje strukturę katalogów z pliku RAR podczas dodawania wpisów do archiwum ZIP.

Czy do rozpakowania plików ZIP potrzebuję oprogramowania innej firmy?

Nie, pliki ZIP można rozpakować natywnie na większości platform, w tym Windows i macOS.

Czy mogę zabezpieczyć plik ZIP hasłem?

Tak, Aspose.ZIP pozwala na szyfrowanie i ochronę hasłem podczas tworzenia archiwów ZIP.

Zobacz także