RarArchive.RarArchive

RarArchive(string, RarArchiveLoadOptions)

Inicializa una nueva instancia delRarArchive La lista de entradas de clases y composiciones se puede extraer del archivo.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
ParámetroEscribeDescripción
pathStringLa ruta completa o relativa al archivo de almacenamiento.
loadOptionsRarArchiveLoadOptionsOpciones para cargar el archivo existente.

Excepciones

excepcióncondición
ArgumentNullExceptionpath es nulo.
SecurityExceptionLa persona que llama no tiene el permiso necesario para acceder.
ArgumentExceptionElpath está vacío, solo contiene espacios en blanco o contiene caracteres no válidos.
UnauthorizedAccessExceptionAcceso al archivopath es denegado.
PathTooLongExceptionEl especificadopath, nombre de archivo, o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.
NotSupportedExceptionArchivo enpath contiene dos puntos (:) en medio de la cadena.

Observaciones

Este constructor no descomprime ninguna entrada. VerOpen método para descomprimir.

Ejemplos

El siguiente ejemplo extrae un archivo, luego descomprime la primera entrada a unFlujo de memoria.

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

Ver también


RarArchive(Stream, RarArchiveLoadOptions)

Inicializa una nueva instancia delRarArchive La lista de entradas de clases y composiciones se puede extraer del archivo.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
ParámetroEscribeDescripción
sourceStreamStreamLa fuente del archivo.
loadOptionsRarArchiveLoadOptionsOpciones para cargar el archivo existente.

Excepciones

excepcióncondición
ArgumentExceptionsourceStream no es buscable.
InvalidDataExceptionFirma incorrecta para el archivo. - o - El archivo no es un archivo RAR.
InvalidOperationException

Observaciones

Este constructor no descomprime ninguna entrada. VerOpen método para descomprimir.

Ejemplos

El siguiente ejemplo descifra y descomprime la primera entrada a unFlujo de memoria.

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

Ver también