Извлечение архивов RAR в .NET
Обзор
Aspose.ZIP API позволяет извлекать архивы в ваших приложениях без необходимости использования каких-либо других сторонних приложений. Aspose.ZIP API предоставляет класс RarArchive для работы с архивами RAR. API предоставляет класс RarArchiveEntry для представления одного файла в архиве RAR.
Создание архивов RAR невозможно.
Извлечь запись
В следующем примере кода показано, как извлечь запись с помощью экземпляра RarArchive.
Шаги: Извлеките запись из архива RAR с помощью C# </а>
- Откройте архив RAR с помощью экземпляра RarArchive.
- Создайте новый файловый поток для извлеченной записи.
- Используйте метод Open для первой записи, чтобы получить ее содержимое.
- Используйте буфер для чтения данных из записи и записи их в целевой файловый поток, пока все байты не будут переданы.
1 using (RarArchive archive = new RarArchive("archive.rar"))
2 {
3 using (var destination = File.Create(dataDir + "firstEntry.txt"))
4 {
5 using (var source = archive.Entries[0].Open())
6 {
7 byte[] buffer = new byte[1024];
8 int bytesRead;
9 while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)
10 destination.Write(buffer, 0, bytesRead);
11
12 }
13 }
14 }
Извлечение зашифрованной записи
В следующем примере кода показано, как извлечь зашифрованную запись с помощью экземпляра RarArchive.
Шаги: Извлечение Зашифрованная запись из архива RAR через C#
- запишите зашифрованный архив RAR с помощью объекта FileInfo.
- Создайте файловый поток для извлеченной записи.
- Используйте метод Extract для первой записи, указав пароль, необходимый для ее расшифровки.
- Запишите расшифрованные данные в файл назначения.
1 FileInfo fi = new FileInfo("encrypted.rar");
2 using (RarArchive archive = new RarArchive(fi.OpenRead()))
3 {
4 using (var destination = File.Create(dataDir + "firstEntry.txt"))
5 {
6 archive.Entries[0].Extract(destination, "p@s$w0rd");
7 }
8 }
Извлечение сжатого каталога
В следующем примере кода показано, как удалить все файлы из экземпляра RarArchive.
Шаги: Извлеките все файлы из Сжатый каталог (архив RAR) через C#
- Откройте архив RAR с помощью экземпляра RarArchive.
- Используйте метод ExtractToDirectory, чтобы извлечь все файлы из архива в указанный каталог.
1 using (RarArchive archive = new RarArchive("archive.rar"))
2 {
3 archive.ExtractToDirectory("extracted");
4 }