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
Implementa
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
path
es nulo.
El llamador no tiene el permiso requerido para acceder.
El path
está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.
El acceso al archivo path
está denegado.
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.
El archivo en path
contiene dos puntos (:) en medio de la cadena.
El archivo no se encuentra.
La ruta especificada no es válida, como estar en una unidad no asignada.
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
sourceStream
no es buscable.
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>
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
destinationDirectory
es nulo.
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.
El llamador no tiene el permiso requerido para acceder al directorio existente.
Si el directorio no existe, la ruta contiene un carácter de dos puntos (:) que no es parte de una etiqueta de unidad (“C:").
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 (:).
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
destinationDirectory
es nulo.
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.
El llamador no tiene el permiso requerido para acceder al directorio existente.
Si el directorio no existe, la ruta contiene un carácter de dos puntos (:) que no es parte de una etiqueta de unidad (“C:").
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 (:).
El directorio especificado por la ruta es un archivo. -o- El nombre de red no es conocido.