RAR to powszechnie używany format plików archiwów obsługujący bezstratną kompresję danych. Często ludzie wolą RAR od ZIP, ponieważ zapewnia on lepszy stopień kompresji i zmniejsza rozmiar archiwum. Jednak w niektórych przypadkach może być konieczna konwersja plików RAR do archiwów ZIP. Aby to osiągnąć, w tym artykule opisano, jak programowo przekonwertować plik RAR na ZIP w języku C#.
C# .NET API do konwersji RAR na ZIP
Aspose.ZIP for .NET to potężny interfejs API do archiwizacji, który obsługuje tworzenie i manipulowanie popularnymi formatami archiwów. Wykorzystamy ten interfejs API do konwersji plików RAR do formatu ZIP. Aby korzystać z API, możesz zainstalować je z NuGet lub pobrać jego bibliotekę DLL z sekcji pobierania.
PM> Install-Package Aspose.Zip
Konwertuj plik RAR na ZIP w C#
Pliki RAR można przekonwertować do formatu ZIP w kilku krokach za pomocą Aspose.ZIP for .NET. Poniżej przedstawiono kroki konwersji pliku RAR na archiwum ZIP w języku C#.
Utwórz instancję klasy Archive dla archiwum ZIP.
Załaduj archiwum RAR przy użyciu klasy RarArchive.
Przejrzyj wpisy archiwum RAR za pomocą kolekcji RarArchive.Entries.
Dla każdego wpisu w RAR wykonaj następujące czynności:
Wyodrębnij wpis do obiektu MemoryStream za pomocą metody RarArchive.Entries[int].Extract(MemoryStream).
Dodaj wpis do ZIP, używając metody Archive.CreateEntry(String, MemoryStream).
Na koniec zapisz wynikowe archiwum ZIP przy użyciu metody Archive.Save(String).
Poniższy przykładowy kod pokazuje, jak przekonwertować plik RAR na format ZIP w języku C#.
// Utwórz instancję klasy Archive dla archiwum ZIP
using (Archive zip = new Archive())
{
// Załaduj archiwum RAR
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// Przejrzyj wpisy pliku RAR
for (int i = 0; i < rar.Entries.Count; i++)
{
// Skopiuj każdy wpis z RAR do ZIP
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);
}
}
// Zapisz wynikowe archiwum ZIP
zip.Save("output.zip");
}
Uzyskaj bezpłatną licencję API
Możesz otrzymać darmową tymczasową licencję na korzystanie z Aspose.ZIP for .NET bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się programowo konwertować archiwum RAR do formatu ZIP w języku C#. Przewodnik krok po kroku i przykładowy kod zademonstrowały konwersję pliku RAR do archiwum ZIP w kilku krokach. Możesz przeczytać dokumentację Aspose.ZIP for .NET, aby poznać inne funkcje. Ponadto możesz dzielić się z nami swoimi pytaniami za pośrednictwem naszego forum.