Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Цей клас представляє файл архіву RAR. Використовуйте його для витягування архівів RAR.
public class RarArchive : IArchive, IDisposable
Спадкування
Реалізує
Спадковані члени
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Конструктори
RarArchive(string, RarArchiveLoadOptions)
Ініціалізує новий екземпляр класу Aspose.Zip.Rar.RarArchive та формує список записів, які можна витягти з архіву.
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
Параметри
path
string
Повний або відносний шлях до файлу архіву.
loadOptions
RarArchiveLoadOptions
Опції для завантаження існуючого архіву.
Приклади
Наступний приклад витягує архів, а потім розпаковує перший запис у MemoryStream
.
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive("data.rar"))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Зауваження
Цей конструктор не розпаковує жоден запис. Дивіться метод Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) для розпакування.
Виключення
path
дорівнює null.
У виклику немає необхідних прав для доступу.
path
порожній, містить лише пробіли або містить недопустимі символи.
Доступ до файлу path
заборонено.
Вказаний path
, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл за path
містить двокрапку (:) посередині рядка.
Файл не знайдено.
Вказаний шлях недійсний, наприклад, якщо він знаходиться на не змаркованому диску.
Файл вже відкритий.
RarArchive(Stream, RarArchiveLoadOptions)
Ініціалізує новий екземпляр класу Aspose.Zip.Rar.RarArchive та формує список записів, які можна витягти з архіву.
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
Параметри
sourceStream
Stream
Джерело архіву.
loadOptions
RarArchiveLoadOptions
Опції для завантаження існуючого архіву.
Приклади
Наступний приклад розшифровує та розпаковує перший запис у MemoryStream
.
var fs = File.OpenRead("encrypted.rar");
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive(fs, new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Зауваження
Цей конструктор не розпаковує жоден запис. Дивіться метод Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) для розпакування.
Виключення
sourceStream
не є доступним для пошуку.
Неправильний підпис для архіву. - або - Файл не є архівом RAR.
Властивості
Entries
Отримує записи типу Aspose.Zip.Rar.RarArchiveEntry, що складають архів rar.
public ReadOnlyCollection<rararchiveentry> Entries { get; }
Значення властивості
ReadOnlyCollection<RarArchiveEntry>
Методи
Dispose(bool)
Виконує завдання, визначені додатком, пов’язані з звільненням, вивільненням або скиданням некерованих ресурсів.
protected virtual void Dispose(bool disposing)
Параметри
disposing
bool
Чи слід звільнити керовані ресурси.
Dispose()
Виконує завдання, визначені додатком, пов’язані з звільненням, вивільненням або скиданням некерованих ресурсів.
public void Dispose()
ExtractToDirectory(string, string)
Витягує всі файли з архіву до вказаного каталогу.
[Obsolete("Для витягання зашифрованого архіву RAR, будь ласка, надайте пароль у конструкторі з Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
Параметри
destinationDirectory
string
Шлях до каталогу, куди помістити витягнуті файли.
password
string
Необов’язковий пароль для розшифрування.
Приклади
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
Зауваження
Якщо каталог не існує, він буде створений.
Виключення
destinationDirectory
дорівнює null.
Вказаний шлях, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
У виклику немає необхідних прав для доступу до існуючого каталогу.
Якщо каталог не існує, шлях містить двокрапку (:) яка не є частиною мітки диска (“C:").
destinationDirectory
є рядком нульової довжини, містить лише пробіли або містить один або кілька недопустимих символів. Ви можете запитати недопустимі символи, використовуючи метод System.IO.Path.GetInvalidPathChars. - або - шлях починається з, або містить, лише двокрапку (:).
Каталог, вказаний шляхом, є файлом. - або - Ім’я мережі не відоме.
ExtractToDirectory(string)
Витягує всі файли з архіву до вказаного каталогу.
public void ExtractToDirectory(string destinationDirectory)
Параметри
destinationDirectory
string
Шлях до каталогу, куди помістити витягнуті файли.
Приклади
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
Зауваження
Якщо каталог не існує, він буде створений.
Виключення
destinationDirectory
дорівнює null.
Вказаний шлях, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
У виклику немає необхідних прав для доступу до існуючого каталогу.
Якщо каталог не існує, шлях містить двокрапку (:) яка не є частиною мітки диска (“C:").
destinationDirectory
є рядком нульової довжини, містить лише пробіли або містить один або кілька недопустимих символів. Ви можете запитати недопустимі символи, використовуючи метод System.IO.Path.GetInvalidPathChars. - або - шлях починається з, або містить, лише двокрапку (:).
Каталог, вказаний шляхом, є файлом. - або - Ім’я мережі не відоме.