Як витягти файли RAR за допомогою C#

Як витягти файли RAR за допомогою C#

У цьому посібнику ми розглянемо процес витягування RAR файлів за допомогою C#. Цей навчальний посібник містить необхідні ресурси для налаштування середовища розробки, вичерпний список кроків, що пояснює програмну логіку, та виконуваний зразок коду для розпакування RAR файлів.

Переваги витягування RAR файлів

  1. Стиснення:
    • Формат RAR зазвичай забезпечує кращі коефіцієнти стиснення в порівнянні з ZIP.
  2. Багаточастинні архіви:
    • Файли RAR підтримують багаточастинні архіви, що дозволяє розподілити великі набори даних на менші файли.
  3. Інформація про файли:
    • Дозволяє отримувати доступ до різних деталей (розмір, дата тощо) про файли в архіві перед витягуванням.

Передумови: Підготовка середовища

  1. Налаштуйте Visual Studio або будь-яку сумісну .NET IDE.
  2. Встановіть Aspose.ZIP з NuGet Package Manager.

Покроковий посібник з витягування RAR файлів

Крок 1: Встановіть Aspose.ZIP

Додайте бібліотеку Aspose.ZIP до вашого проєкту.

Install-Package Aspose.ZIP

Крок 2: Завантажте RAR файл

Завантажте вихідний RAR файл за допомогою класу RarArchive.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Кроки обробки будуть далі
}

Крок 3: Проаналізуйте записи

Пройдіть через всі записи в архіві RAR.

foreach (var entry in rarArchive.Entries)
{
    // Далі кроки обробки будуть тут
}

Крок 4: Створіть FileStream

Створіть FileStream для кожного запису, щоб записати витягнуті дані.

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

Крок 5: Прочитайте байти з запису

Прочитайте всі байти з поточного запису та збережіть їх у 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);
    }
}

Крок 6: Збережіть витягнутий файл

Переконайтеся, що FileStream правильно збережено та закрито.

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

Повний приклад коду для витягування RAR файлів

Ось повний приклад, що демонструє, як витягувати RAR файли в C#:

// Завантажте RAR файл
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Проаналізуйте всі записи в архіві
    foreach (var entry in rarArchive.Entries)
    {
        // Створіть файл для кожного запису
        var file = File.Create(entry.Name);
        
        // Відкрийте запис архіву та збережіть дані у файл
        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);
            }
        }

        // Закрийте потік файлу після збереження
        file.Close();
    }
}

Додаткова інформація

  • Ви можете фільтрувати файли на основі різних критеріїв, таких як розмір або дата, перед витягуванням.
  • Бібліотека Aspose.ZIP підтримує різні формати архівів, що дозволяє універсально маніпулювати файлами.

Висновок

Цей посібник продемонстрував, як витягувати RAR файли в C# з використанням Aspose.ZIP. Дотримуючись викладених кроків і зразка коду, ви можете безперешкодно інтегрувати функціональність витягування RAR у свої програми. Для подальшого вивчення розгляньте можливість ознайомлення з навчальними посібниками щодо стиснення файлів або витягування інших форматів архівів.

 Українська