Class XarFileEntry
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Representa a entrada de arquivo dentro do arquivo xar.
public sealed class XarFileEntry : XarEntry, IArchiveFileEntry
Herança
object ← XarEntry ← XarFileEntry
Implementa
Membros Herdados
XarEntry.ToString(), XarEntry.Name, XarEntry.FullPath, XarEntry.IsDirectory, XarEntry.Parent, XarEntry.CreationTime, XarEntry.LastAccessTime, XarEntry.LastWriteTime, object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Propriedades
Length
Obtém o comprimento da entrada em bytes.
public long Length { get; }
Valor da Propriedade
Métodos
Extract(string)
Extrai a entrada para o sistema de arquivos pelo caminho fornecido.
public FileInfo Extract(string path)
Parâmetros
path
string
O caminho para o arquivo de destino. Se o arquivo já existir, ele será sobrescrito.
Retorna
As informações do arquivo composto.
Exemplos
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}
Exceções
path
é nulo.
O chamador não tem a permissão necessária para acessar.
O path
está vazio, contém apenas espaços em branco ou contém caracteres inválidos.
O acesso ao arquivo path
é negado.
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 dos arquivos devem ter menos de 260 caracteres.
O arquivo em path
contém dois pontos (:) no meio da string.
O arquivo compactado está corrompido.
Extract(Stream)
Extrai a entrada para o fluxo fornecido.
public void Extract(Stream destination)
Parâmetros
destination
Stream
Fluxo de destino. Deve ser gravável.
Exemplos
Extrai uma entrada do arquivo xar.
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract(httpResponseStream);
}
Exceções
destination
não suporta gravação.
O arquivo compactado está corrompido.
Open()
Abre a entrada para extração e fornece um fluxo com o conteúdo da entrada.
public Stream Open()
Retorna
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.
### <a id="Aspose_Zip_Xar_XarFileEntry_CompressionProgressed"></a> CompressionProgressed
Dispara quando uma porção do fluxo bruto é compactada.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Tipo de Evento
EventHandler<ProgressEventArgs>
Exemplos
archive.Entries.First().CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Observações
O remetente do evento é uma instância de Aspose.Zip.Xar.XarFileEntry.