Class SevenZipArchiveEntry

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

objectSevenZipArchiveEntry

Derivados

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

Implementa

IArchiveFileEntry

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

ArgumentException

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

ulong

CompressionSettings

Obtiene configuraciones para compresión o descompresión.

public SevenZipCompressionSettings CompressionSettings { get; }

Valor de la propiedad

SevenZipCompressionSettings

FileAttributes

Obtiene los atributos del archivo del sistema anfitrión.

protected FileAttributes FileAttributes { get; }

Valor de la propiedad

FileAttributes

IsDirectory

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

public bool IsDirectory { get; }

Valor de la propiedad

bool

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.

public string Name { get; protected set; }

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, será sobrescrito.

password string

Contraseña opcional para la desencriptación.

Devuelve

FileInfo

La información del archivo compuesto.

Ejemplos

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract("data.bin");
}

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.

InvalidDataException

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

ArgumentException

destination no admite escritura.

InvalidOperationException

El archivo comprimido no está abierto para extracción. - o - Esta entrada es un directorio.

InvalidDataException

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

int

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

Stream

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

Stream

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&gt;

Ejemplos

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { 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.

 Español