Jak wyodrębnić pliki RAR za pomocą C#

Jak wyodrębnić pliki RAR za pomocą C#

W tym przewodniku omówimy proces wyodrębniania plików RAR za pomocą C#. Ten samouczek zawiera niezbędne zasoby do skonfigurowania środowiska deweloperskiego, szczegółową listę kroków, które wyjaśniają logikę programowania oraz działający przykładowy kod do dekompresji plików RAR.

Korzyści z wyodrębniania plików RAR

  1. Kompresja:
    • Format RAR zazwyczaj zapewnia lepsze wskaźniki kompresji w porównaniu do ZIP.
  2. Archiwa wieloczęściowe:
    • Pliki RAR obsługują archiwa wieloczęściowe, co pozwala na podział dużych zbiorów danych na mniejsze pliki.
  3. Informacje o plikach:
    • Umożliwia dostęp do różnych szczegółów (rozmiar, data itp.) dotyczących plików w archiwum przed ich wyodrębnieniem.

Wymagania wstępne: Przygotowanie środowiska

  1. Skonfiguruj Visual Studio lub dowolne kompatybilne IDE .NET.
  2. Zainstaluj Aspose.ZIP z Menedżera pakietów NuGet.

Przewodnik krok po kroku do wyodrębniania plików RAR

Krok 1: Zainstaluj Aspose.ZIP

Dodaj bibliotekę Aspose.ZIP do swojego projektu.

Install-Package Aspose.ZIP

Krok 2: Załaduj plik RAR

Załaduj źródłowy plik RAR za pomocą klasy RarArchive.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Kroki przetwarzania będą się tutaj odbywać
}

Krok 3: Przeanalizuj wpisy

Przejdź przez wszystkie wpisy w archiwum RAR.

foreach (var entry in rarArchive.Entries)
{
    // Dalsze kroki przetwarzania będą się tutaj odbywać
}

Krok 4: Utwórz FileStream

Utwórz FileStream dla każdego wpisu, aby zapisać wyodrębnione dane.

var file = File.Create(entry.Name);

Krok 5: Odczytaj bajty z wpisu

Odczytaj wszystkie bajty z bieżącego wpisu i zapisz je do FileStream.

using (var fileEntry = entry.Open())
{
    byte[] data = new byte[1024];
    int bytesCount;
    while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
    {
        file.Write(data, 0, bytesCount);
    }
}

Krok 6: Zapisz wyodrębniony plik

Upewnij się, że FileStream jest prawidłowo zapisany i zamknięty.

file.Close();
file.Dispose();

Pełny przykład kodu do wyodrębniania plików RAR

Oto pełny przykład pokazujący, jak wyodrębniać pliki RAR w C#:

// Załaduj plik RAR
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Przeanalizuj wszystkie wpisy w archiwum
    foreach (var entry in rarArchive.Entries)
    {
        // Utwórz plik dla każdego wpisu
        var file = File.Create(entry.Name);
        
        // Otwórz wpis archiwum i zapisz dane do pliku
        using (var fileEntry = entry.Open())
        {
            byte[] data = new byte[1024];
            int bytesCount;
            while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
            {
                file.Write(data, 0, bytesCount);
            }
        }

        // Zamknij strumień pliku po zapisaniu
        file.Close();
    }
}

Dodatkowe informacje

  • Możesz filtrować pliki na podstawie różnych kryteriów, takich jak rozmiar lub data przed ich wyodrębnieniem.
  • Biblioteka Aspose.ZIP obsługuje różne formaty archiwów, co umożliwia wszechstronną manipulację plikami.

Podsumowanie

Ten przewodnik pokazał, jak wyodrębniać pliki RAR w C# za pomocą Aspose.ZIP. Postępując zgodnie z opisanymi krokami i przykładem kodu, możesz bezproblemowo włączyć funkcjonalność wyodrębniania RAR do swoich aplikacji. Aby dalej zgłębiać temat, rozważ zapoznanie się z samouczkami na temat kompresji plików lub wyodrębniania innych formatów archiwów.

 Polski