Class RarArchive

Class RarArchive

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

Esta clase representa un archivo de archivo RAR. Úselo para extraer archivos RAR.

public class RarArchive : IArchive, IDisposable

Herencia

objectRarArchive

Implementa

IArchive, IDisposable

Miembros heredados

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

Constructores

RarArchive(string, RarArchiveLoadOptions)

Inicializa una nueva instancia de la clase Aspose.Zip.Rar.RarArchive y compone la lista de entradas que se pueden extraer del archivo.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)

Parámetros

path string

La ruta completamente calificada o la ruta relativa al archivo de archivo.

loadOptions RarArchiveLoadOptions

Opciones para cargar el archivo existente.

Ejemplos

El siguiente ejemplo extrae un archivo, luego descomprime la primera entrada a un 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);
    }
}

Observaciones

Este constructor no descomprime ninguna entrada. Consulte el método Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) para descomprimir.

Excepciones

ArgumentNullException

path es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

El path está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.

UnauthorizedAccessException

El acceso al archivo path está denegado.

PathTooLongException

La path, el nombre del archivo o ambos exceden 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.

NotSupportedException

El archivo en path contiene dos puntos (:) en medio de la cadena.

FileNotFoundException

El archivo no se encuentra.

DirectoryNotFoundException

La ruta especificada no es válida, como estar en una unidad no asignada.

IOException

El archivo ya está abierto.

RarArchive(Stream, RarArchiveLoadOptions)

Inicializa una nueva instancia de la clase Aspose.Zip.Rar.RarArchive y compone la lista de entradas que se pueden extraer del archivo.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)

Parámetros

sourceStream Stream

La fuente del archivo.

loadOptions RarArchiveLoadOptions

Opciones para cargar el archivo existente.

Ejemplos

El siguiente ejemplo descifra y descomprime la primera entrada a un 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);
    }
}

Observaciones

Este constructor no descomprime ninguna entrada. Consulte el método Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) para descomprimir.

Excepciones

ArgumentException

sourceStream no es buscable.

InvalidDataException

Firma incorrecta para el archivo. - o - El archivo no es un archivo RAR.

Propiedades

Entries

Obtiene las entradas del tipo Aspose.Zip.Rar.RarArchiveEntry que constituyen el archivo rar.

public ReadOnlyCollection<rararchiveentry> Entries { get; }

Valor de propiedad

ReadOnlyCollection<RarArchiveEntry&gt;

Métodos

Dispose(bool)

Realiza tareas definidas por la aplicación asociadas con liberar, liberar o restablecer recursos no administrados.

protected virtual void Dispose(bool disposing)

Parámetros

disposing bool

Si los recursos administrados deben ser liberados.

Dispose()

Realiza tareas definidas por la aplicación asociadas con liberar, liberar o restablecer recursos no administrados.

public void Dispose()

ExtractToDirectory(string, string)

Extrae todos los archivos en el archivo al directorio proporcionado.

[Obsolete("Para la extracción de archivos RAR cifrados, proporcione la contraseña en el constructor con Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)

Parámetros

destinationDirectory string

La ruta al directorio para colocar los archivos extraídos.

password string

Contraseña opcional para la decripción.

Ejemplos

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

Observaciones

Si el directorio no existe, se creará.

Excepciones

ArgumentNullException

destinationDirectory es nulo.

PathTooLongException

La ruta especificada, el nombre del archivo o ambos exceden 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.

SecurityException

El llamador no tiene el permiso requerido para acceder al directorio existente.

NotSupportedException

Si el directorio no existe, la ruta contiene un carácter de dos puntos (:) que no es parte de una etiqueta de unidad (“C:").

ArgumentException

destinationDirectory es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o más caracteres no válidos. Puede consultar los caracteres no válidos utilizando el método System.IO.Path.GetInvalidPathChars. -o- la ruta está precedida por, o contiene, solo un carácter de dos puntos (:).

IOException

El directorio especificado por la ruta es un archivo. -o- El nombre de red no es conocido.

ExtractToDirectory(string)

Extrae todos los archivos en el archivo al directorio proporcionado.

public void ExtractToDirectory(string destinationDirectory)

Parámetros

destinationDirectory string

La ruta al directorio para colocar los archivos extraídos.

Ejemplos

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

Observaciones

Si el directorio no existe, se creará.

Excepciones

ArgumentNullException

destinationDirectory es nulo.

PathTooLongException

La ruta especificada, el nombre del archivo o ambos exceden 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.

SecurityException

El llamador no tiene el permiso requerido para acceder al directorio existente.

NotSupportedException

Si el directorio no existe, la ruta contiene un carácter de dos puntos (:) que no es parte de una etiqueta de unidad (“C:").

ArgumentException

destinationDirectory es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o más caracteres no válidos. Puede consultar los caracteres no válidos utilizando el método System.IO.Path.GetInvalidPathChars. -o- la ruta está precedida por, o contiene, solo un carácter de dos puntos (:).

IOException

El directorio especificado por la ruta es un archivo. -o- El nombre de red no es conocido.

 Español