Class XarFileEntry
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Representa la entrada de archivo dentro del archivo xar.
public sealed class XarFileEntry : XarEntry, IArchiveFileEntry
Herencia
object ← XarEntry ← XarFileEntry
Implementa
Miembros heredados
XarEntry.ToString(), XarEntry.Name, XarEntry.FullPath, XarEntry.IsDirectory, XarEntry.Parent, XarEntry.CreationTime, XarEntry.LastAccessTime, XarEntry.LastWriteTime, object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Propiedades
Longitud
Obtiene la longitud de la entrada en bytes.
public long Length { get; }
Valor de la propiedad
Métodos
Extraer(string)
Extrae la entrada al sistema de archivos por la ruta proporcionada.
public FileInfo Extract(string path)
Parámetros
path
string
La ruta al archivo de destino. Si el archivo ya existe, será sobrescrito.
Devuelve
La información del archivo compuesto.
Ejemplos
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}
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 de 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 comprimido está dañado.
Extraer(Stream)
Extrae la entrada al flujo proporcionado.
public void Extract(Stream destination)
Parámetros
destination
Stream
Flujo de destino. Debe ser escribible.
Ejemplos
Extrae una entrada del archivo xar.
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract(httpResponseStream);
}
Excepciones
destination
no admite escritura.
El archivo comprimido está dañado.
Abrir()
Abre la entrada para extracción y proporciona un flujo con el contenido de la entrada.
public Stream Open()
Devuelve
El flujo que representa el contenido de la entrada.
Ejemplos
Uso:
Stream decompressed = entry.Open();
.NET 4.0 y superior - usa el método Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 y anterior - copia los 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
Lee del flujo para obtener el contenido original del archivo. Ver sección de ejemplos.
### <a id="Aspose_Zip_Xar_XarFileEntry_CompressionProgressed"></a> CompresiónProgresada
Se genera cuando se comprime una porción del flujo sin procesar.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Tipo de evento
EventHandler<ProgressEventArgs>
Ejemplos
archive.Entries.First().CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Observaciones
El remitente del evento es una instancia de Aspose.Zip.Xar.XarFileEntry.