Class RarArchive

Class RarArchive

Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)

Цей клас представляє файл архіву RAR. Використовуйте його для витягування архівів RAR.

public class RarArchive : IArchive, IDisposable

Спадкування

objectRarArchive

Реалізує

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) для розпакування.

Виключення

ArgumentNullException

path дорівнює null.

SecurityException

У виклику немає необхідних прав для доступу.

ArgumentException

path порожній, містить лише пробіли або містить недопустимі символи.

UnauthorizedAccessException

Доступ до файлу path заборонено.

PathTooLongException

Вказаний path, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.

NotSupportedException

Файл за path містить двокрапку (:) посередині рядка.

FileNotFoundException

Файл не знайдено.

DirectoryNotFoundException

Вказаний шлях недійсний, наприклад, якщо він знаходиться на не змаркованому диску.

IOException

Файл вже відкритий.

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) для розпакування.

Виключення

ArgumentException

sourceStream не є доступним для пошуку.

InvalidDataException

Неправильний підпис для архіву. - або - Файл не є архівом RAR.

Властивості

Entries

Отримує записи типу Aspose.Zip.Rar.RarArchiveEntry, що складають архів rar.

public ReadOnlyCollection<rararchiveentry> Entries { get; }

Значення властивості

ReadOnlyCollection<RarArchiveEntry&gt;

Методи

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");
}

Зауваження

Якщо каталог не існує, він буде створений.

Виключення

ArgumentNullException

destinationDirectory дорівнює null.

PathTooLongException

Вказаний шлях, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.

SecurityException

У виклику немає необхідних прав для доступу до існуючого каталогу.

NotSupportedException

Якщо каталог не існує, шлях містить двокрапку (:) яка не є частиною мітки диска (“C:").

ArgumentException

destinationDirectory є рядком нульової довжини, містить лише пробіли або містить один або кілька недопустимих символів. Ви можете запитати недопустимі символи, використовуючи метод System.IO.Path.GetInvalidPathChars. - або - шлях починається з, або містить, лише двокрапку (:).

IOException

Каталог, вказаний шляхом, є файлом. - або - Ім’я мережі не відоме.

ExtractToDirectory(string)

Витягує всі файли з архіву до вказаного каталогу.

public void ExtractToDirectory(string destinationDirectory)

Параметри

destinationDirectory string

Шлях до каталогу, куди помістити витягнуті файли.

Приклади

using (var archive = new RarArchive("archive.rar")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Зауваження

Якщо каталог не існує, він буде створений.

Виключення

ArgumentNullException

destinationDirectory дорівнює null.

PathTooLongException

Вказаний шлях, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.

SecurityException

У виклику немає необхідних прав для доступу до існуючого каталогу.

NotSupportedException

Якщо каталог не існує, шлях містить двокрапку (:) яка не є частиною мітки диска (“C:").

ArgumentException

destinationDirectory є рядком нульової довжини, містить лише пробіли або містить один або кілька недопустимих символів. Ви можете запитати недопустимі символи, використовуючи метод System.IO.Path.GetInvalidPathChars. - або - шлях починається з, або містить, лише двокрапку (:).

IOException

Каталог, вказаний шляхом, є файлом. - або - Ім’я мережі не відоме.

 Українська