Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

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

Representa um único arquivo dentro do arquivo 7z.

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

Inheritance

object SevenZipArchiveEntry

Derived

SevenZipArchiveEntryEncrypted , SevenZipArchiveEntryPlain

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 um Aspose.Zip.SevenZip.SevenZipArchiveEntry instância para Aspose.Zip.SevenZip.SevenZipArchiveEntryEncriptado para determinar se a entrada é criptografada ou não.

Properties

CompressedSize

Obter o tamanho de um arquivo comprimido.

public ulong CompressedSize { get; }

Valor da propriedade

ulong

CompressionSettings

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

public SevenZipCompressionSettings CompressionSettings { get; }

Valor da propriedade

SevenZipCompressionSettings

FileAttributes

Recebe atributos de arquivo de um 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

Recebe a última data e hora modificadas.

public DateTime ModificationTime { get; }

Valor da propriedade

DateTime

Name

Recebe o nome da entrada dentro do arquivo.

public string Name { get; protected set; }

Valor da propriedade

string

Source

Obtenha o fluxo de fonte de dados para a entrada.

protected Stream Source { get; }

Valor da propriedade

Stream

UncompressedSize

Obter o tamanho de um 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 de arquivo de um arquivo composto.

Examples

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

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.

InvalidDataException

O arquivo é corrompido.

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 (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract(httpResponseStream);
}

Exceptions

ArgumentException

destination’ does not support writing.

InvalidOperationException

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

InvalidDataException

Dados errados dentro da entrada.

FinalizeCompressedData(Remoção, byte[])

Escreva para o fluxo de saída qualquer cabeçalho que siga os dados comprimidos.

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

Parameters

outputStream Stream

fluxo de saída para a entrada.

encoderProperties byte [ ]

Propriedades do compressor.

Returns

int

Número de bytes “técnicos” que foram adicionados após a entrada de um bloco de dados significativo.

GetDestinationStream(Stream)

O fluxo de destino para a entrada, pode ser decorado.

protected abstract Stream GetDestinationStream(Stream outputStream)

Parameters

outputStream Stream

fluxo de saída para a entrada.

Returns

Stream

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

Open(Redação)

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

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

#### Remarks

Read from the stream to get the original content of a file. See examples section.

#### Exceptions

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

The archive is not opened for extraction. - or - This entry is a directory.

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

Wrong data within the entry.

### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_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.SevenZip.SevenZipArchiveEntry.

Não invoca em modo multithread para entradas LZMA2.

 Português