Як витягти файли RAR за допомогою C#
У цьому посібнику ми розглянемо процес витягування RAR файлів за допомогою C#. Цей навчальний посібник містить необхідні ресурси для налаштування середовища розробки, вичерпний список кроків, що пояснює програмну логіку, та виконуваний зразок коду для розпакування RAR файлів.
Переваги витягування RAR файлів
- Стиснення:
- Формат RAR зазвичай забезпечує кращі коефіцієнти стиснення в порівнянні з ZIP.
- Багаточастинні архіви:
- Файли RAR підтримують багаточастинні архіви, що дозволяє розподілити великі набори даних на менші файли.
- Інформація про файли:
- Дозволяє отримувати доступ до різних деталей (розмір, дата тощо) про файли в архіві перед витягуванням.
Передумови: Підготовка середовища
- Налаштуйте Visual Studio або будь-яку сумісну .NET IDE.
- Встановіть 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 у свої програми. Для подальшого вивчення розгляньте можливість ознайомлення з навчальними посібниками щодо стиснення файлів або витягування інших форматів архівів.