Class GzipArchive

Class GzipArchive

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

Esta classe representa um arquivo de arquivo gzip. Use-a para compor ou extrair arquivos gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Herança

objectGzipArchive

Implementa

IArchive, IDisposable, IArchiveFileEntry

Membros Herdados

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Observações

O algoritmo de compressão Gzip é baseado no algoritmo DEFLATE, que é uma combinação de LZ77 e codificação Huffman.

Construtores

GzipArchive()

Inicializa uma nova instância da classe Aspose.Zip.Gzip.GzipArchive preparada para compressão.

public GzipArchive()

Exemplos

O exemplo a seguir mostra como comprimir um arquivo.

using (GzipArchive archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

GzipArchive(Stream, bool)

Inicializa uma nova instância da classe Aspose.Zip.Gzip.GzipArchive preparada para descompressão.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parâmetros

sourceStream Stream

A origem do arquivo.

parseHeader bool

Se deve analisar o cabeçalho do fluxo para descobrir propriedades, incluindo nome. Faz sentido apenas para fluxos que permitem busca.

Exemplos

Abra um arquivo de arquivo a partir de um fluxo e extraia-o para um MemoryStream

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
  archive.Open().CopyTo(ms);

Observações

Este construtor não descomprime. Veja o método Aspose.Zip.Gzip.GzipArchive.Open para descompressão.

GzipArchive(string, bool)

Inicializa uma nova instância da classe Aspose.Zip.Gzip.GzipArchive.

public GzipArchive(string path, bool parseHeader = false)

Parâmetros

path string

O caminho para o arquivo de arquivo.

parseHeader bool

Se deve analisar o cabeçalho do fluxo para descobrir propriedades, incluindo nome. Faz sentido apenas para fluxos que permitem busca.

Exemplos

Abra um arquivo de arquivo pelo caminho e extraia-o para um MemoryStream

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
  archive.Open().CopyTo(ms);

Observações

Este construtor não descomprime. Veja o método Aspose.Zip.Gzip.GzipArchive.Open para descompressão.

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.

Propriedades

Name

Nome do arquivo original.

public string Name { get; }

Valor da Propriedade

string

Métodos

Dispose()

Executa tarefas definidas pela aplicação associadas à liberação, liberação ou redefinição de recursos não gerenciados.

public void Dispose()

Dispose(bool)

Executa tarefas definidas pela aplicação associadas à liberação, liberação ou redefinição de recursos não gerenciados.

protected virtual void Dispose(bool disposing)

Parâmetros

disposing bool

Se os recursos gerenciados devem ser liberados.

Extract(Stream)

Extrai o arquivo para o fluxo fornecido.

public void Extract(Stream destination)

Parâmetros

destination Stream

Fluxo de destino. Deve ser gravável.

Exemplos

using (var archive = new GzipArchive("archive.gz"))
{
     archive.Extract(httpResponseStream);
}

Exceções

ArgumentException

destination não suporta gravação.

InvalidDataException

O fluxo está corrompido e não contém dados válidos.

Extract(string)

Extrai o arquivo para o arquivo pelo caminho.

public FileInfo Extract(string path)

Parâmetros

path string

O caminho para o arquivo de destino. Se o arquivo já existir, será sobrescrito.

Retorna

FileInfo

Informações do arquivo extraído.

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 fluxo está corrompido e não contém dados válidos.

ExtractToDirectory(string)

Extrai o conteúdo do arquivo para o diretório fornecido.

public void ExtractToDirectory(string destinationDirectory)

Parâmetros

destinationDirectory string

O caminho para o diretório onde os arquivos extraídos serão colocados.

Observações

Se o diretório não existir, ele será criado.

Exceções

ArgumentNullException

destinationDirectory é nulo.

PathTooLongException

O caminho especificado, 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.

SecurityException

O chamador não tem a permissão necessária para acessar o diretório existente.

NotSupportedException

Se o diretório não existir, o caminho contém um caractere de dois pontos (:) que não faz parte de um rótulo de unidade (“C:").

ArgumentException

destinationDirectory é uma string de comprimento zero, contém apenas espaços em branco ou contém um ou mais caracteres inválidos. Você pode consultar caracteres inválidos usando o método System.IO.Path.GetInvalidPathChars. -ou- o caminho é prefixado ou contém apenas um caractere de dois pontos (:).

IOException

O diretório especificado pelo caminho é um arquivo. -ou- O nome da rede não é conhecido.

Open()

Abre o arquivo para extração e fornece um fluxo com o conteúdo do arquivo.

public Stream Open()

Retorna

Stream

O fluxo que representa o conteúdo do arquivo.

Exemplos

Extrai o arquivo e copia o conteúdo extraído para o fluxo do 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.CopyTo(extracted);`

Observações

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

Save(Stream)

Salva o arquivo no fluxo fornecido.

public void Save(Stream outputStream)

Parâmetros

outputStream Stream

Fluxo de destino.

Exemplos

Escreve dados comprimidos no fluxo de resposta http.

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(httpResponse.OutputStream);
}

Observações

outputStream deve ser gravável.

Exceções

ArgumentException

outputStream não é gravável.

InvalidOperationException

A origem não foi fornecida.

Save(string)

Salva o arquivo no arquivo de destino fornecido.

public void Save(string destinationFileName)

Parâmetros

destinationFileName string

O caminho do arquivo a ser criado. Se o nome do arquivo especificado aponta para um arquivo existente, ele será sobrescrito.

Exemplos

using (var archive = new GzipArchive())
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Exceções

ArgumentNullException

destinationFileName é nulo.

SecurityException

O chamador não tem a permissão necessária para acessar.

ArgumentException

O destinationFileName está vazio, contém apenas espaços em branco ou contém caracteres inválidos.

UnauthorizedAccessException

O acesso ao arquivo destinationFileName é negado.

PathTooLongException

O destinationFileName, 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 destinationFileName contém dois pontos (:) no meio da string.

SetSource(Stream)

Define o conteúdo a ser comprimido dentro do arquivo.

public void SetSource(Stream source)

Parâmetros

source Stream

O fluxo de entrada para o arquivo.

Exemplos

using (var archive = new GzipArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.gz");
}

SetSource(FileInfo)

Define o conteúdo a ser comprimido dentro do arquivo.

public void SetSource(FileInfo fileInfo)

Parâmetros

fileInfo FileInfo

A referência a um arquivo a ser comprimido.

Exemplos

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.gz");
}

SetSource(string)

Define o conteúdo a ser comprimido dentro do arquivo.

public void SetSource(string path)

Parâmetros

path string

Caminho para o arquivo a ser comprimido.

Exemplos

Abra um arquivo de arquivo pelo caminho e extraia-o para um MemoryStream

using (var archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

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.

SetSource(TarArchive)

Define o conteúdo a ser comprimido dentro do arquivo.

public void SetSource(TarArchive tarArchive)

Parâmetros

tarArchive TarArchive

Arquivo Tar a ser comprimido.

Exemplos

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");
    }
}

Observações

Use este método para compor um arquivo tar.gz conjunto.

 Português