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
Derived
ArchiveEntryEncrypted , ArchiveEntryPlain
Implements
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
CompressedSize
Obter o tamanho do arquivo comprimido.
public ulong CompressedSize { get; }
Valor da propriedade
CompressionSettings
Obtenha configurações para compressão ou decompressão.
public CompressionSettings CompressionSettings { get; }
Valor da propriedade
DataSource
Fonte da entrada se a entrada foi adicionada ao arquivo, não extraída.
public Stream DataSource { get; }
Valor da propriedade
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
IsDirectory
Recebe um valor indicando se a entrada representa um diretório.
public bool IsDirectory { get; }
Valor da propriedade
ModificationTime
Obter ou definir a última data e hora modificadas.
public DateTime ModificationTime { get; set; }
Valor da propriedade
Name
Recebe o nome da entrada dentro do arquivo.
public string Name { get; protected set; }
Valor da propriedade
UncompressedSize
Obtenha o tamanho do arquivo original.
public ulong UncompressedSize { get; }
Valor da propriedade
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
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
path’ is null.
O requerente não tem a permissão necessária para o acesso.
O path’ é vazio, contém apenas espaços brancos, ou contém caracteres inválidos.
O acesso ao arquivo path" é negado.
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.
O arquivo no path’ contém uma coluna (:) no meio da linha.
O arquivo não foi encontrado.
O caminho especificado é inválido, como estar em uma unidade não mapeada.
O arquivo já está aberto.
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
Os dados são corrompidos. -ou- CRC ou verificação MAC falhou para a entrada.
A fonte é corrompida ou não lida.
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
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
<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) => { 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) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Remarks
O envio de eventos é uma instância Aspose.Zip.ArchiveEntry.