Как да извлечем RAR файлове с C#
В това ръководство ще разгледаме процеса на извличане RAR файлове с C#. Това ръководство включва необходимите ресурси за настройване на средата за разработка, изчерпателен списък от стъпки, който обяснява логиката на програмирането, и изпълним примерен код за разархивиране на RAR файлове.
Ползи от извличането на файлове RAR
- Компресия:
- RAR форматът обикновено осигурява по-добри коефициенти на компресия в сравнение с ZIP.
- Мултичастични архиви:
- RAR файловете поддържат многочастични архиви, позволявайки големи набори от данни да се разделят на по-малки файлове.
- Информация за файла:
- Позволява ви да достъпвате различни детайли (размер, дата и др.) за файловете в архива преди извличане.
Prerequisites: Preparing the Environment
- Настройте Visual Studio или всяка съвместима .NET IDE.
- Инсталирайте Aspose.ZIP от NuGet Package Manager.
Ръководство стъпка по стъпка за извличане на RAR файлове
Стъпка 1: Инсталирайте Aspose.ZIP
Добавете библиотеката Aspose.ZIP към вашия проект.
Install-Package Aspose.ZIPСтъпка 2: Заредете RAR файла
Заредете изходния RAR файл, като използвате RarArchive клас.
using Aspose.Zip;
using Aspose.Zip.Rar;
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
// Processing steps will follow here
}Стъпка 3: Обработете записите
Обхождайте всички записи в архива RAR.
foreach (var entry in rarArchive.Entries)
{
// Further processing steps follow here
}Стъпка 4: Създайте FileStream
Създайте FileStream за всеки запис, за да запишете извлечените данни.
var file = File.Create(entry.Name);Стъпка 5: Прочетете байтовете от записа
Прочетете всички байтове от текущия запис и ги запазете в FileStream.
using Aspose.Zip.Rar;
// Load the RAR file
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
// Parse all entries in the archive
foreach (var entry in rarArchive.Entries)
{
// Create a file for each entry
var file = File.Create(entry.Name);
// Open the archive entry and save data to the file
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);
}
}
// Close the file stream after saving
file.Close();
}
}Стъпка 6: Запазване на извлечения файл
Уверете се, че FileStream е правилно запазен и затворен.
file.Close();
file.Dispose();Пълен пример с код за извличане на файлове RAR
Ето пълен пример, който демонстрира как да извлечете файлове RAR в C#:
using Aspose.Zip.Rar;
// Load the RAR file
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
// Parse all entries in the archive
foreach (var entry in rarArchive.Entries)
{
// Create a file for each entry
var file = File.Create(entry.Name);
// Open the archive entry and save data to the file
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);
}
}
// Close the file stream after saving
file.Close();
}
}Допълнителна информация
- Можете да филтрирате файловете въз основа на различни критерии, като размер или дата, преди извличане.
- Библиотеката Aspose.ZIP поддържа различни архивни формати, което позволява гъвкаво манипулиране на файлове.
Заключение
Този наръчник демонстрира как да извлечете файлове RAR в C# с помощта на Aspose.ZIP. Следвайки описаните стъпки и примерния код, можете безпроблемно да интегрирате функционалност за извличане на RAR във вашите приложения. За по-нататъшно проучване, разгледайте уроци за компресиране на файлове или извличане на други архивни формати.