Class RarArchiveEntry

Class RarArchiveEntry

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

Representa un solo archivo dentro del archivo comprimido.

public abstract class RarArchiveEntry : IArchiveFileEntry

Herencia

objectRarArchiveEntry

Derivados

RarArchiveEntryEncrypted, RarArchiveEntryPlain

Implementa

IArchiveFileEntry

Miembros heredados

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

Observaciones

Convierta una instancia de Aspose.Zip.Rar.RarArchiveEntry a Aspose.Zip.Rar.RarArchiveEntryEncrypted para determinar si la entrada está encriptada o no.

Propiedades

CompressedSize

Obtiene el tamaño del archivo comprimido.

public ulong CompressedSize { get; }

Valor de la propiedad

ulong

CreationTime

Obtiene la fecha y hora de creación.

public DateTime CreationTime { get; }

Valor de la propiedad

DateTime

IsDirectory

Obtiene un valor que indica si la entrada representa un directorio.

public bool IsDirectory { get; }

Valor de la propiedad

bool

LastAccessTime

Obtiene la fecha y hora del último acceso.

public DateTime LastAccessTime { get; }

Valor de la propiedad

DateTime

ModificationTime

Obtiene la fecha y hora de la última modificación.

public DateTime ModificationTime { get; }

Valor de la propiedad

DateTime

Name

Obtiene el nombre de la entrada dentro del archivo comprimido.

public string Name { get; }

Valor de la propiedad

string

Source

Obtiene el flujo de datos de origen para la entrada.

protected Stream Source { get; set; }

Valor de la propiedad

Stream

UncompressedSize

Obtiene el tamaño del archivo original.

public ulong UncompressedSize { get; }

Valor de la propiedad

ulong

Métodos

Extract(string, string)

Extrae la entrada al sistema de archivos según la ruta proporcionada.

public FileInfo Extract(string path, string password = null)

Parámetros

path string

La ruta al archivo de destino. Si el archivo ya existe, se sobrescribirá.

password string

Contraseña opcional para la desencriptación.

Retorna

FileInfo

La información del archivo compuesto.

Ejemplos

Extraer dos entradas de un archivo 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");
    }
}

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 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.

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.

InvalidDataException

Los datos están corruptos. -o- La verificación de CRC o MAC falló para la entrada.

Extract(Stream, string)

Extrae la entrada al flujo proporcionado.

public void Extract(Stream destination, string password = null)

Parámetros

destination Stream

Flujo de destino. Debe ser escribible.

password string

Contraseña opcional para la desencriptación.

Ejemplos

Extraer una entrada de un archivo rar con contraseña.

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

Excepciones

InvalidDataException

La verificación de CRC o MAC falló para la entrada.

ArgumentException

destination no soporta escritura.

InvalidDataException

Los datos están corruptos. -o- La verificación de CRC o MAC falló para la entrada.

Open(string)

Abre la entrada para extracción y proporciona un flujo con el contenido de la entrada descomprimida.

public Stream Open(string password = null)

Parámetros

password string

Contraseña opcional para la desencriptación. También se puede establecer dentro de Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.

Retorna

Stream

El flujo que representa el contenido de la entrada.

Ejemplos

Uso: Stream decompressed = entry.Open();

.NET 4.0 y superior - use el método Stream.CopyTo: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 y anteriores - copiar bytes manualmente:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Observaciones

<p>Lea desde el flujo para obtener el contenido original del archivo. Vea la sección de ejemplos.</p>

### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed

Se activa cuando se extrae una porción del flujo bruto.

```csharp
public event EventHandler<progresseventargs> ExtractionProgressed

Tipo de evento

EventHandler<ProgressEventArgs&gt;

Ejemplos

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };

Observaciones

El remitente del evento es una instancia de Aspose.Zip.Rar.RarArchiveEntry.

 Español