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
Derivados
RarArchiveEntryEncrypted, RarArchiveEntryPlain
Implementa
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
CreationTime
Obtiene la fecha y hora de creación.
public DateTime CreationTime { get; }
Valor de la propiedad
IsDirectory
Obtiene un valor que indica si la entrada representa un directorio.
public bool IsDirectory { get; }
Valor de la propiedad
LastAccessTime
Obtiene la fecha y hora del último acceso.
public DateTime LastAccessTime { get; }
Valor de la propiedad
ModificationTime
Obtiene la fecha y hora de la última modificación.
public DateTime ModificationTime { get; }
Valor de la propiedad
Name
Obtiene el nombre de la entrada dentro del archivo comprimido.
public string Name { get; }
Valor de la propiedad
Source
Obtiene el flujo de datos de origen para la entrada.
protected Stream Source { get; set; }
Valor de la propiedad
UncompressedSize
Obtiene el tamaño del archivo original.
public ulong UncompressedSize { get; }
Valor de la propiedad
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
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
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 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.
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.
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
La verificación de CRC o MAC falló para la entrada.
destination
no soporta escritura.
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
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>
Ejemplos
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
Observaciones
El remitente del evento es una instancia de Aspose.Zip.Rar.RarArchiveEntry.