RarArchiveEntry.Extract

Extract(string, string)

Извлекает запись в файловую систему по указанному пути.

public FileInfo Extract(string path, string password = null)
ПараметрТипОписание
pathStringПуть к файлу назначения. Если файл уже существует, он будет перезаписан.
passwordStringНеобязательный пароль для расшифровки.

Возвращаемое значение

Информация о файле составленного файла.

Исключения

исключениеусловие
ArgumentNullExceptionpath нулевой.
SecurityExceptionУ вызывающего абонента нет необходимого разрешения на доступ.
ArgumentExceptionpath пуст, содержит только пробелы или содержит недопустимые символы.
UnauthorizedAccessExceptionДоступ к файлуpath отказано.
PathTooLongExceptionУказанныйpath, имя файла или оба превышают максимальную длину, определенную системой. Например, на платформах Windows пути должны содержать менее 248 символов, а имена файлов — менее 260 символов.
NotSupportedExceptionФайл вpath содержит двоеточие (:) в середине строки.
InvalidDataExceptionОшибка проверки CRC или MAC для записи.

Примеры

Извлеките две записи архива rar.

using (FileStream rarFile = File.Open("archive.rar", FileMode.Open))
{
    using (RarArchive archive = new RarArchive(rarFile))
    {
        archive.Entries[0].Extract("first.bin", "pass");
        archive.Entries[1].Extract("second.bin", "pass");
    }
}

Смотрите также


Extract(Stream, string)

Извлекает запись в предоставленный поток.

public void Extract(Stream destination, string password = null)
ПараметрТипОписание
destinationStreamЦелевой поток. Должен быть доступен для записи.
passwordStringНеобязательный пароль для расшифровки.

Исключения

исключениеусловие
InvalidDataExceptionОшибка проверки CRC или MAC для записи.
ArgumentExceptiondestination не поддерживает запись.

Примеры

Извлечь запись из архива rar с паролем.

using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
    using (RarArchive archive = new RarArchive(rarFile))
    {
        archive.Entries[0].Extract(httpResponseStream, "p@s$");
    }
}

Смотрите также