Class SevenZipArchiveEntry
Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)
Representa un archivo único dentro del archivo 7z.
public abstract class SevenZipArchiveEntry : IArchiveFileEntry
Herencia
Derivados
SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain
Implementa
Miembros heredados
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Comentarios
Convierte una instancia de Aspose.Zip.SevenZip.SevenZipArchiveEntry a Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted para determinar si la entrada está encriptada o no.
Constructores
SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)
Inicializa una nueva instancia de la clase Aspose.Zip.SevenZip.SevenZipArchiveEntry.
protected SevenZipArchiveEntry(SevenZipArchive parent, string name, SevenZipCompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)
Parámetros
parent
SevenZipArchive
name
string
Nombre de la entrada.
compressionSettings
SevenZipCompressionSettings
Configuraciones para compresión o descompresión.
source
Stream
Flujo con datos de entrada que se van a comprimir o descomprimir.
fileAttributes
FileAttributes
Atributos del sistema de archivos.
fileInfo
FileSystemInfo
Información del archivo o directorio en la que se basa la entrada.
Excepciones
El name
es nulo o está vacío.
Propiedades
CompressedSize
Obtiene el tamaño del archivo comprimido.
public ulong CompressedSize { get; }
Valor de la propiedad
CompressionSettings
Obtiene configuraciones para compresión o descompresión.
public SevenZipCompressionSettings CompressionSettings { get; }
Valor de la propiedad
FileAttributes
Obtiene los atributos del archivo del sistema anfitrión.
protected FileAttributes FileAttributes { 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
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.
public string Name { get; protected set; }
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, será sobrescrito.
password
string
Contraseña opcional para la desencriptación.
Devuelve
La información del archivo compuesto.
Ejemplos
using (var archive = new SevenZipArchive("archive.7z"))
{
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 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 comprimido está dañado.
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 del archivo zip con contraseña.
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.Entries[0].Extract(httpResponseStream);
}
Excepciones
destination
no admite escritura.
El archivo comprimido no está abierto para extracción. - o - Esta entrada es un directorio.
Datos incorrectos dentro de la entrada.
FinalizeCompressedData(Stream, byte[])
Escribe en el flujo de salida cualquier encabezado que siga a los datos comprimidos.
protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)
Parámetros
outputStream
Stream
Flujo de salida para la entrada.
encoderProperties
byte[]
Propiedades del compresor.
Devuelve
Número de bytes “técnicos” que se añadieron después del bloque de datos significativo de la entrada.
GetDestinationStream(Stream)
Flujo de destino para la entrada, puede estar decorado.
protected abstract Stream GetDestinationStream(Stream outputStream)
Parámetros
outputStream
Stream
Flujo de salida para la entrada.
Devuelve
El flujo de destino para la compresión de la entrada.
Open(string)
Abre la entrada para extracción y proporciona un flujo con el contenido de la entrada.
public Stream Open(string password = null)
Parámetros
password
string
Contraseña opcional para la desencriptación.
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>
#### Comentarios
Lee desde el flujo para obtener el contenido original del archivo. Ver sección de ejemplos.
#### Excepciones
[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)
El archivo comprimido no está abierto para extracción. - o - Esta entrada es un directorio.
[InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)
Datos incorrectos dentro de la entrada.
### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_CompressionProgressed"></a> CompressionProgressed
Se activa cuando se comprime una porción del flujo sin procesar.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Tipo de evento
EventHandler<ProgressEventArgs>
Ejemplos
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Comentarios
El emisor del evento es una instancia de Aspose.Zip.SevenZip.SevenZipArchiveEntry.
No se activa en modo multihilo para entradas LZMA2.