Class ArchiveEntry

Class ArchiveEntry

Nome do espaço: Aspose.Zip Assembleia: Aspose.Zip.dll (25.5.0)

Representa um único arquivo dentro do arquivo.

public abstract class ArchiveEntry : IArchiveFileEntry

Inheritance

object ArchiveEntry

Derived

ArchiveEntryEncrypted , ArchiveEntryPlain

Implements

IArchiveFileEntry

Membros herdados

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

Remarks

Coloque uma instância Aspose.Zip.ArchiveEntry em Aspose.Zip.ArchiveEntryEncrypted para determinar se a entrada é criptografada ou não.

Constructors

ArchiveEntry(Compressão, Compressão, Func O UINT)

Inicia uma nova instância da classe Aspose.Zip.ArchiveEntry.

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

Parameters

name string

Nome de entrada.

compressionSettings CompressionSettings

Configuração para compressão ou decompressão.

sourceProvider Func e o PT; Stream >

Método de devolução de fluxo com dados de entrada também para ser comprimido.

fileAttributes uint

atributos do sistema de arquivos.

ArchiveEntry(string, CompressãoSettings, Stream, uint, FileSystemInfo)

Inicia uma nova instância da classe Aspose.Zip.ArchiveEntry.

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

Parameters

name string

Nome de entrada.

compressionSettings CompressionSettings

Configuração para compressão ou decompressão.

source Stream

Fluxo com dados de entrada para ser comprimido ou para ser decomprimido.

fileAttributes uint

atributos do sistema de arquivos.

fileInfo FileSystemInfo

Arquivo ou diretório informações a entrada baseada em.

Properties

Comment

Recebe comentário da entrada dentro do arquivo.

public string Comment { get; protected set; }

Valor da propriedade

string

CompressedSize

Obter o tamanho do arquivo comprimido.

public ulong CompressedSize { get; }

Valor da propriedade

ulong

CompressionSettings

Obtenha configurações para compressão ou decompressão.

public CompressionSettings CompressionSettings { get; }

Valor da propriedade

CompressionSettings

DataSource

Fonte da entrada se a entrada foi adicionada ao arquivo, não extraída.

public Stream DataSource { get; }

Valor da propriedade

Stream

Remarks

Antes de atribuído, a fonte é nula. Esta fonte pode ser atribuída dentro do método ‘Archive.Save’ em alguns casos.

FileAttributes

Recebe atributos de arquivo do sistema de hospedagem.

protected FileAttributes FileAttributes { get; }

Valor da propriedade

FileAttributes

IsDirectory

Recebe um valor indicando se a entrada representa um diretório.

public bool IsDirectory { get; }

Valor da propriedade

bool

ModificationTime

Obter ou definir a última data e hora modificadas.

public DateTime ModificationTime { get; set; }

Valor da propriedade

DateTime

Name

Recebe o nome da entrada dentro do arquivo.

public string Name { get; protected set; }

Valor da propriedade

string

UncompressedSize

Obtenha o tamanho do arquivo original.

public ulong UncompressedSize { get; }

Valor da propriedade

ulong

Methods

Extract(Título, Título)

Extrai a entrada para o sistema de arquivos pelo caminho fornecido.

public FileInfo Extract(string path, string password = null)

Parameters

path string

O caminho para o arquivo de destino.Se o arquivo já existe, será sobreescrito.

password string

Password opcional para decodificação.

Returns

FileInfo

Informação do arquivo do arquivo composto.

Examples

Extrair duas entradas do arquivo zip, cada uma com sua própria senha

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

O requerente não tem a permissão necessária para o acesso.

ArgumentException

O path’ é vazio, contém apenas espaços brancos, ou contém caracteres inválidos.

UnauthorizedAccessException

O acesso ao arquivo path" é negado.

PathTooLongException

O nome de arquivo especificado path", ou ambos excede o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas no Windows, os caminhos devem ser menores de 248 caracteres, e os nomes de arquivo devem ser menores de 260 caracteres.

NotSupportedException

O arquivo no path’ contém uma coluna (:) no meio da linha.

FileNotFoundException

O arquivo não foi encontrado.

DirectoryNotFoundException

O caminho especificado é inválido, como estar em uma unidade não mapeada.

IOException

O arquivo já está aberto.

InvalidDataException

Os dados são corrompidos. -ou- CRC ou verificação MAC falhou para a entrada.

Extract(Conexão, String)

Extrata a entrada para o fluxo fornecido.

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

Parameters

destination Stream

Destination stream. deve ser escrita.

password string

Password opcional para decodificação.

Examples

Extrair uma entrada do arquivo zip com uma senha.

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

Exceptions

InvalidDataException

Os dados são corrompidos. -ou- CRC ou verificação MAC falhou para a entrada.

IOException

A fonte é corrompida ou não lida.

ArgumentException

destination’ does not support writing.

Open(Redação)

Abre a entrada para extração e fornece um fluxo com conteúdo de entrada decomprimido.

public Stream Open(string password = null)

Parameters

password string

Password opcional para decodificação.

Returns

Stream

O fluxo que representa o conteúdo da entrada.

Examples

Utilização :Stream decompressed = entry.Open();

.NET 4.0 e superior - Use o método Stream.CopyTo:decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 e antes - copiar os 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>

#### Remarks

<p>Read from the stream to get the original content of a file. See examples section.</p>

#### Exceptions

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

The archive is in an incorrect state.

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

Raises when a portion of raw stream compressed.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Tipo de evento

EventHandler e o PT; ProgressEventArgs >

Examples

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };

Remarks

O envio de eventos é uma instância Aspose.Zip.ArchiveEntry.

ExtractionProgressed

Aumente quando uma porção de fluxo cru é extraída.

public event EventHandler<progresseventargs> ExtractionProgressed

Tipo de evento

EventHandler e o PT; ProgressEventArgs >

Examples

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };

Remarks

O envio de eventos é uma instância Aspose.Zip.ArchiveEntry.

 Português