Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

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

Representa um único arquivo dentro do arquivo 7z.

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

Herança

objectSevenZipArchiveEntry

Derivados

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

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.SevenZip.SevenZipArchiveEntry para Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted para determinar se a entrada está criptografada ou não.

Construtores

SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)

Inicializa uma nova instância da classe 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

Nome da entrada.

compressionSettings SevenZipCompressionSettings

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

source Stream

Fluxo 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 da entrada.

Exceções

ArgumentException

O name é nulo ou vazio.

Propriedades

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 SevenZipCompressionSettings CompressionSettings { get; }

Valor da Propriedade

SevenZipCompressionSettings

FileAttributes

Obtém os atributos do arquivo do sistema host.

protected FileAttributes FileAttributes { get; }

Valor da Propriedade

FileAttributes

IsDirectory

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

public bool IsDirectory { get; }

Valor da Propriedade

bool

ModificationTime

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

public DateTime ModificationTime { get; }

Valor da Propriedade

DateTime

Name

Obtém o nome da entrada dentro do arquivo.

public string Name { get; protected set; }

Valor da Propriedade

string

Source

Obtém o fluxo de dados de origem para a entrada.

protected Stream Source { get; set; }

Valor da Propriedade

Stream

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

password string

Senha opcional para descriptografia.

Retorna

FileInfo

As informações do arquivo composto.

Exemplos

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

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.

InvalidDataException

O arquivo compactado está corrompido.

Extract(Stream, string)

Extrai a entrada para o fluxo fornecido.

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

Parâmetros

destination Stream

Fluxo de destino. Deve ser gravável.

password string

Senha opcional para descriptografia.

Exemplos

Extrair uma entrada do arquivo zip com senha.

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

Exceções

ArgumentException

destination não suporta gravação.

InvalidOperationException

O arquivo compactado não está aberto para extração. - ou - Esta entrada é um diretório.

InvalidDataException

Dados incorretos dentro da entrada.

FinalizeCompressedData(Stream, byte[])

Escreve no fluxo de saída quaisquer cabeçalhos que seguem os dados comprimidos.

protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)

Parâmetros

outputStream Stream

Fluxo de saída para a entrada.

encoderProperties byte[]

Propriedades do compressor.

Retorna

int

Número de bytes “técnicos” que foram adicionados após o bloco de dados significativos da entrada.

GetDestinationStream(Stream)

Fluxo de destino para a entrada, pode ser decorado.

protected abstract Stream GetDestinationStream(Stream outputStream)

Parâmetros

outputStream Stream

Fluxo de saída para a entrada.

Retorna

Stream

O fluxo de destino para a compressão da entrada.

Open(string)

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

public Stream Open(string password = null)

Parâmetros

password string

Senha opcional para descriptografia.

Retorna

Stream

O fluxo 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 os bytes manualmente:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Observações

Leia do fluxo para obter o conteúdo original do arquivo. Veja a seção de exemplos.

#### Exceções

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

O arquivo compactado não está aberto para extração. - ou - Esta entrada é um diretório.

 [InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)

Dados incorretos dentro da entrada.

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

Dispara quando uma parte do fluxo 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.SevenZip.SevenZipArchiveEntry.

Não é invocado em modo multithread para entradas LZMA2.

 Português