Class GzipArchive
Nome do espaço: Aspose.Zip.Gzip Assembleia: Aspose.Zip.dll (25.5.0)
Esta classe representa um arquivo gzip. Use-o para compilar ou extrair arquivos gzip.
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
Implements
IArchive , IDisposable , IArchiveFileEntry
Membros herdados
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
O algoritmo de compressão Gzip é baseado no algoritmo DEFLATE, que é uma combinação de codificação LZ77 e Huffman.
Constructors
GzipArchive()
Inicia uma nova instância da classe Aspose.Zip.Gzip.GzipArchive preparada para compressão.
public GzipArchive()
Examples
O exemplo a seguir mostra como comprimir um arquivo.
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
GzipArchive(Caminhão, Bool)
Inicia uma nova instância da classe Aspose.Zip.Gzip.GzipArchive preparada para a decompressão.
public GzipArchive(Stream sourceStream, bool parseHeader = false)
Parameters
sourceStream
Stream
A fonte do arquivo.
parseHeader
bool
Ou para parse o cabeçalho de fluxo para descobrir propriedades, incluindo o nome. faz sentido para o fluxo procurável apenas.
Examples
Abra um arquivo de um fluxo e extrai-o para um
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
archive.Open().CopyTo(ms);
Remarks
Este construtor não descomprime. ver Aspose.Zip.Gzip.GzipArchive.Open método de descompressão.
Exceptions
sourceStream’ is null.
sourceStream’ is too short.
O sourceStream’ tem uma assinatura errada.
GzipArchive(Remoção, Bool)
Inicia uma nova instância da classe Aspose.Zip.Gzip.GzipArchive.
public GzipArchive(string path, bool parseHeader = false)
Parameters
path
string
O caminho para o arquivo.
parseHeader
bool
Ou para parse o cabeçalho de fluxo para descobrir propriedades, incluindo o nome. faz sentido para o fluxo procurável apenas.
Examples
Abra um arquivo do ficheiro por caminho e extraí-lo para um
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
archive.Open().CopyTo(ms);
Remarks
Este construtor não descomprime. ver Aspose.Zip.Gzip.GzipArchive.Open método de descompressão.
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 é muito curto.
Os dados no arquivo têm uma assinatura errada.
Properties
Name
Nome de um arquivo original.
public string Name { get; }
Valor da propriedade
UncompressedSize
Obter o tamanho de um arquivo original.
public ulong UncompressedSize { get; }
Valor da propriedade
Remarks
Durante a decompressão, esta propriedade pode conter tamanho incorreto.Se o tamanho do arquivo não comprimido exceder 4GB, esta propriedade dará um valor errado devido ao limite de 32 bits no cabeçalho.
Methods
Dispose()
Exerce tarefas definidas por aplicação associadas à libertação, libertação ou restauração de recursos não gerenciados.
public void Dispose()
Dispose(Bolha)
Exerce tarefas definidas por aplicação associadas à libertação, libertação ou restauração de recursos não gerenciados.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Se os recursos gerenciados devem ser dissolvidos.
Extract(Stream)
Extrair o arquivo para o fluxo fornecido.
public void Extract(Stream destination)
Parameters
destination
Stream
Destination stream. deve ser escrita.
Examples
using (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination’ does not support writing.
O fluxo é corrompido e não contém dados válidos.
Extract(Redação)
Extrair o arquivo para o arquivo por caminho.
public FileInfo Extract(string path)
Parameters
path
string
O caminho para o arquivo de destino.Se o arquivo já existe, será sobreescrito.
Returns
Informações sobre arquivos extraídos.
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 fluxo é corrompido e não contém dados válidos.
ExtractToDirectory(Redação)
Extrair o conteúdo do arquivo para o diretório fornecido.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
O caminho para o diretório para colocar os arquivos extraídos.
Remarks
Se o diretório não existe, será criado.
Exceptions
destinationDirectory’ is null.
O caminho especificado, o nome do arquivo 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 do arquivo devem ser menores de 260 caracteres.
O chamador não tem a permissão necessária para acessar o diretório existente.
Se o diretório não existe, o caminho contém um caráter colon (:) que não faz parte de uma etiqueta de disco (“C:”).
destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method.-or- path is prefixed with, or contains, only a colon character (:).
O diretório especificado pelo caminho é um arquivo. -or- O nome da rede não é conhecido.
Open()
Abre o arquivo para extração e fornece um fluxo com conteúdo de arquivo.
public Stream Open()
Returns
O fluxo que representa o conteúdo do arquivo.
Examples
Extrata o arquivo e copia o conteúdo extraído para o fluxo de arquivo.
using (var archive = new GzipArchive("archive.gz"))
{
using (var extracted = File.Create("data.bin"))
{
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Você pode usar o método Stream.CopyTo para .NET 4.0 e superior: ‘unpacked.Kopy To(extraído);’
Remarks
Leia do fluxo para obter o conteúdo original de um arquivo. ver seção exemplos.
Save(Stream)
Salve arquivo para o fluxo fornecido.
public void Save(Stream outputStream)
Parameters
outputStream
Stream
fluxo de destino.
Examples
Escreva dados comprimidos para o fluxo de resposta HTTP.
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Remarks
Tem que ser escrita.
Exceptions
outputStream’ is not writable.
A fonte não foi fornecida.
Save(Redação)
Salve arquivo para o arquivo de destino fornecido.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Se o nome do arquivo especificado aponta para um arquivo existente, ele será sobreescrito.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
destinationFileName’ is null.
O requerente não tem a permissão necessária para o acesso.
A destinationFileName’ é vazia, contém apenas espaços brancos, ou contém caracteres inválidos.
O acesso ao arquivo destinationFileName’ é negado.
O nome de arquivo especificado destinationFileName, 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 na destinationFileName’ contém uma coluna (:) no meio da linha.
SetSource(Stream)
Coloca o conteúdo para ser comprimido dentro do arquivo.
public void SetSource(Stream source)
Parameters
source
Stream
O fluxo de entrada para o arquivo.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.gz");
}
SetSource(FileInfo)
Coloca o conteúdo para ser comprimido dentro do arquivo.
public void SetSource(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
A referência a um arquivo a ser comprimido.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.gz");
}
SetSource(Redação)
Coloca o conteúdo para ser comprimido dentro do arquivo.
public void SetSource(string path)
Parameters
path
string
O caminho para o arquivo ser comprimido.
Examples
Abra um arquivo do ficheiro por caminho e extraí-lo para um
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
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.
SetSource(TarArchive)
Coloca o conteúdo para ser comprimido dentro do arquivo.
public void SetSource(TarArchive tarArchive)
Parameters
tarArchive
TarArchive
Arquivo para ser comprimido.
Examples
using (var tarArchive = new TarArchive())
{
tarArchive.CreateEntry("first.bin", "data1.bin");
tarArchive.CreateEntry("second.bin", "data2.bin");
using (var gzippedArchive = new GzipArchive())
{
gzippedArchive.SetSource(tarArchive);
gzippedArchive.Save("archive.tar.gz");
}
}
Remarks
Use este método para compilar arquivo conjunto tar.gz.