Class ArchiveEntry

Class ArchiveEntry

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

Representa um único arquivo dentro do arquivo compactado.

public abstract class ArchiveEntry : IArchiveFileEntry

Herança

objectArchiveEntry

Derivados

ArchiveEntryEncrypted, ArchiveEntryPlain

Implementa

IArchiveFileEntry

Membros Herdados

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

Observações

Converta uma instância de Aspose.Zip.ArchiveEntry para Aspose.Zip.ArchiveEntryEncrypted para determinar se a entrada está criptografada ou não.

Construtores

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

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

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

Parâmetros

name string

Nome da entrada.

compressionSettings CompressionSettings

Configurações para compressão ou descompressão.

sourceProvider Func<Stream&gt;

Método que retorna o stream com os dados da entrada a serem comprimidos.

fileAttributes FileAttributes

Atributos do sistema de arquivos.

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

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

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

Parâmetros

name string

Nome da entrada.

compressionSettings CompressionSettings

Configurações para compressão ou descompressão.

source Stream

Stream com os dados da entrada a serem comprimidos ou descomprimidos.

fileAttributes FileAttributes

Atributos do sistema de arquivos.

fileInfo FileSystemInfo

Informações sobre o arquivo ou diretório com base na entrada.

Propriedades

Comment

Obtém o comentário da entrada dentro do arquivo compactado.

public string Comment { get; protected set; }

Valor da Propriedade

string

CompressedSize

Obtém o tamanho do arquivo comprimido.

public ulong CompressedSize { get; }

Valor da Propriedade

ulong

CompressionSettings

Obtém as configurações para compressão ou descompressão.

public CompressionSettings CompressionSettings { get; }

Valor da Propriedade

CompressionSettings

DataSource

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

public Stream DataSource { get; }

Valor da Propriedade

Stream

Observações

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

FileAttributes

Obtém os atributos do arquivo do sistema host.

protected FileAttributes FileAttributes { get; }

Valor da Propriedade

FileAttributes

IsDirectory

Obtém um valor que indica se a entrada representa um diretório.

public bool IsDirectory { get; }

Valor da Propriedade

bool

ModificationTime

Obtém ou define a data e hora da última modificação.

public DateTime ModificationTime { get; set; }

Valor da Propriedade

DateTime

Name

Obtém o nome da entrada dentro do arquivo compactado.

public string Name { get; protected set; }

Valor da Propriedade

string

UncompressedSize

Obtém o tamanho do arquivo original.

public ulong UncompressedSize { get; }

Valor da Propriedade

ulong

Métodos

Extract(string, string)

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

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

Parâmetros

path string

O caminho para o arquivo de destino. Se o arquivo já existir, ele será sobrescrito.

password string

Senha opcional para decriptação.

Retorna

FileInfo

As informações do arquivo composto.

Exemplos

Extrair duas entradas do arquivo compactado 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");
    }
}

Exceções

ArgumentNullException

path é nulo.

SecurityException

O chamador não tem a permissão necessária para acessar.

ArgumentException

O path está vazio, contém apenas espaços em branco ou contém caracteres inválidos.

UnauthorizedAccessException

O acesso ao arquivo path é negado.

PathTooLongException

O path, nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas em Windows, os caminhos devem ter menos de 248 caracteres e os nomes de arquivos devem ter menos de 260 caracteres.

NotSupportedException

O arquivo em path contém dois pontos (:) no meio da string.

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 estão corrompidos. -ou- A verificação CRC ou MAC falhou para a entrada.

Extract(Stream, string)

Extrai a entrada para o stream fornecido.

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

Parâmetros

destination Stream

Stream de destino. Deve ser gravável.

password string

Senha opcional para decriptação.

Exemplos

Extrair uma entrada do arquivo compactado zip com senha.

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

Exceções

InvalidDataException

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

IOException

A fonte está corrompida ou não é legível.

ArgumentException

destination não suporta gravação.

Open(string)

Abre a entrada para extração e fornece um stream com o conteúdo descomprimido da entrada.

public Stream Open(string password = null)

Parâmetros

password string

Senha opcional para decriptação.

Retorna

Stream

O stream que representa o conteúdo da entrada.

Exemplos

Uso: Stream decompressed = entry.Open();

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

.NET 3.5 e anterior - copie 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>

#### Observações

<p>Leia do stream para obter o conteúdo original do arquivo. Veja a seção de exemplos.</p>

#### Exceções

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

O arquivo compactado está em um estado incorreto.

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

Levanta quando uma parte do stream bruto é comprimida.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Tipo de Evento

EventHandler<ProgressEventArgs&gt;

Exemplos

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

Observações

O remetente do evento é uma instância de Aspose.Zip.ArchiveEntry.

ExtractionProgressed

Levanta quando uma parte do stream bruto é extraída.

public event EventHandler<progresseventargs> ExtractionProgressed

Tipo de Evento

EventHandler<ProgressEventArgs&gt;

Exemplos

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

Observações

O remetente do evento é uma instância de Aspose.Zip.ArchiveEntry.

 Português