Class ArchiveEntry

Class ArchiveEntry

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

Representa un único archivo dentro del archivo comprimido.

public abstract class ArchiveEntry : IArchiveFileEntry

Herencia

objectArchiveEntry

Derivados

ArchiveEntryEncrypted, ArchiveEntryPlain

Implementa

IArchiveFileEntry

Miembros heredados

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

Observaciones

Convierte una instancia de Aspose.Zip.ArchiveEntry a Aspose.Zip.ArchiveEntryEncrypted para determinar si la entrada está cifrada o no.

Constructores

ArchiveEntry(string, CompressionSettings, Func<stream>, FileAttributes)

Inicializa una nueva instancia de la clase Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, FileAttributes fileAttributes)

Parámetros

name string

Nombre de la entrada.

compressionSettings CompressionSettings

Configuraciones para compresión o descompresión.

sourceProvider Func<Stream&gt;

Método que devuelve un stream con los datos de la entrada a ser comprimidos.

fileAttributes FileAttributes

Atributos del sistema de archivos.

ArchiveEntry(string, CompressionSettings, Stream, FileAttributes, FileSystemInfo)

Inicializa una nueva instancia de la clase Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)

Parámetros

name string

Nombre de la entrada.

compressionSettings CompressionSettings

Configuraciones para compresión o descompresión.

source Stream

Stream con los datos de la entrada a ser comprimidos o descomprimidos.

fileAttributes FileAttributes

Atributos del sistema de archivos.

fileInfo FileSystemInfo

Información del archivo o directorio en base a la entrada.

Propiedades

Comment

Obtiene el comentario de la entrada dentro del archivo comprimido.

public string Comment { get; protected set; }

Valor de la propiedad

string

CompressedSize

Obtiene el tamaño del archivo comprimido.

public ulong CompressedSize { get; }

Valor de la propiedad

ulong

CompressionSettings

Obtiene las configuraciones para compresión o descompresión.

public CompressionSettings CompressionSettings { get; }

Valor de la propiedad

CompressionSettings

DataSource

Fuente para la entrada si la entrada fue añadida al archivo comprimido, no extraída.

public Stream DataSource { get; }

Valor de la propiedad

Stream

Observaciones

Antes de ser asignada, la fuente es nula. Esta fuente puede ser asignada dentro del método Archive.Save en algunos casos.

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 o establece la fecha y hora de la última modificación.

public DateTime ModificationTime { get; set; }

Valor de la propiedad

DateTime

Name

Obtiene el nombre de la entrada dentro del archivo comprimido.

public string Name { get; protected set; }

Valor de la propiedad

string

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.

Retorna

FileInfo

La información del archivo compuesto.

Ejemplos

Extraer dos entradas de un archivo zip, cada una con su propia contraseña

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract("first.bin", "first_pass");
        archive.Entries[1].Extract("second.bin", "second_pass");
    }
}

Excepciones

ArgumentNullException

path es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

La path está vacía, 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 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.

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 CRC o MAC falló para la entrada.

Extract(Stream, string)

Extrae la entrada al stream proporcionado.

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

Parámetros

destination Stream

Stream de destino. Debe ser escribible.

password string

Contraseña opcional para la desencriptación.

Ejemplos

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

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

Excepciones

InvalidDataException

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

IOException

La fuente está corrupta o no es legible.

ArgumentException

destination no soporta escritura.

Open(string)

Abre la entrada para extracción y proporciona un stream con el contenido descomprimido de la entrada.

public Stream Open(string password = null)

Parámetros

password string

Contraseña opcional para la desencriptación.

Retorna

Stream

El stream 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 &lt; (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Observaciones

<p>Lee del stream para obtener el contenido original del archivo. Ver sección de ejemplos.</p>

#### Excepciones

[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)

El archivo comprimido está en un estado incorrecto.

### <a id="Aspose_Zip_ArchiveEntry_CompressionProgressed"></a> CompressionProgressed

Se activa cuando una porción del stream crudo es comprimida.

```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); };

Observaciones

El remitente del evento es una instancia de Aspose.Zip.ArchiveEntry.

ExtractionProgressed

Se activa cuando una porción del stream crudo es extraída.

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) / ((ArchiveEntry)s).UncompressedSize); };

Observaciones

El remitente del evento es una instancia de Aspose.Zip.ArchiveEntry.

 Español