Class RarArchive

Class RarArchive

Название пространства: Aspose.Zip.Rar Ассоциация: Aspose.Zip.dll (25.5.0)

Этот класс представляет собой RAR архивный файл. Используйте его для извлечения RAR архивов.

public class RarArchive : IArchive, IDisposable

Inheritance

object RarArchive

Implements

IArchive , IDisposable

Наследованные члены

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Constructors

RarArchive(Ретки, RarArchiveLoadOptions)

Инициализует новую инстанцию класса Aspose.Zip.Rar.RarArchive и составляет входный список, который можно извлечь из архива.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)

Parameters

path string

Полностью квалифицированный или относительный путь к архиву.

loadOptions RarArchiveLoadOptions

Возможность загрузки существующих архивов.

Examples

Следующий пример выводит архив, а затем декомпрессирует первый вход в .

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

Remarks

Этот конструктор не декомпрессирует любые входы. см. Метод декомпрессии Aspose.Zip.Rar.RarArchiveEntry.Open(System.String).

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Заказчик не имеет требуемого разрешения на доступ.

ArgumentException

path" пустая, содержит только белые пространства или содержит недействительные символы.

UnauthorizedAccessException

Доступ к файлу path" отказывается.

PathTooLongException

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

NotSupportedException

Файл в path’ содержит колону (:) в середине строки.

FileNotFoundException

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

DirectoryNotFoundException

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

IOException

Файл уже открыт.

RarArchive(Поток, RarArchiveLoadOptions)

Инициализует новую инстанцию класса Aspose.Zip.Rar.RarArchive и составляет входный список, который можно извлечь из архива.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)

Parameters

sourceStream Stream

Источник этого архива.

loadOptions RarArchiveLoadOptions

Возможность загрузки существующих архивов.

Examples

Следующий пример децифрует и декомпрессирует первый вход в .

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

Remarks

Этот конструктор не декомпрессирует любые входы. см. Метод декомпрессии Aspose.Zip.Rar.RarArchiveEntry.Open(System.String).

Exceptions

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

Неправильный подпись для архива. - или - Файл не является RAR архивом.

Properties

Entries

Получается вход типа Aspose.Zip.Rar.RarArchiveEntry, составляющий редкий архив.

public ReadOnlyCollection<rararchiveentry> Entries { get; }

Стоимость недвижимости

ReadOnlyCollection • < RarArchiveEntry >

Methods

Dispose(Боол)

Осуществляет задания, определенные приложением, связанные с освобождением, освобождением или восстановлением неконтролируемых ресурсов.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Следует ли использовать управляемые ресурсы.

Dispose()

Осуществляет задания, определенные приложением, связанные с освобождением, освобождением или восстановлением неконтролируемых ресурсов.

public void Dispose()

ExtractToDirectory(Стринг, Стринг)

Выводит все файлы в архиве в предоставленный каталог.

[Obsolete("For extraction encrypted RAR archive please provide password in constructor with Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)

Parameters

destinationDirectory string

Путь к каталогу для размещения извлеченных файлов.

password string

Опциональный пароль для расшифровки.

Examples

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

Remarks

Если каталог не существует, он будет создан.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Например, на платформах, основанных на Windows, маршруты должны быть менее 248 символов, а имена файлов должны быть менее 260 символов.

SecurityException

Заклинатель не имеет требуемого разрешения на доступ к существующему каталогу.

NotSupportedException

Если каталог не существует, то маршрут содержит колонный характер (:) который не является частью дисковой маркировки («C:»).

ArgumentException

destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method. -or- path is prefixed with, or contains, only a colon character (:).

IOException

Каталог, указанный по маршруту, является файлом. -или- Название сети неизвестно.

ExtractToDirectory(Стриг)

Выводит все файлы в архиве в предоставленный каталог.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Путь к каталогу для размещения извлеченных файлов.

Examples

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

Remarks

Если каталог не существует, он будет создан.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Например, на платформах, основанных на Windows, маршруты должны быть менее 248 символов, а имена файлов должны быть менее 260 символов.

SecurityException

Заклинатель не имеет требуемого разрешения на доступ к существующему каталогу.

NotSupportedException

Если каталог не существует, то маршрут содержит колонный характер (:) который не является частью дисковой маркировки («C:»).

ArgumentException

destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method. -or- path is prefixed with, or contains, only a colon character (:).

IOException

Каталог, указанный по маршруту, является файлом. -или- Название сети неизвестно.

 Русский