Class GzipArchive

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

object GzipArchive

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

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

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

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.

EndOfStreamException

O arquivo é muito curto.

InvalidDataException

Os dados no arquivo têm uma assinatura errada.

Properties

Name

Nome de um arquivo original.

public string Name { get; }

Valor da propriedade

string

UncompressedSize

Obter o tamanho de um arquivo original.

public ulong UncompressedSize { get; }

Valor da propriedade

ulong

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

ArgumentException

destination’ does not support writing.

InvalidDataException

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

FileInfo

Informações sobre arquivos extraídos.

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 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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

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.

SecurityException

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

NotSupportedException

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:”).

ArgumentException

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 (:).

IOException

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

Stream

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

ArgumentException

outputStream’ is not writable.

InvalidOperationException

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

ArgumentNullException

destinationFileName’ is null.

SecurityException

O requerente não tem a permissão necessária para o acesso.

ArgumentException

A destinationFileName’ é vazia, contém apenas espaços brancos, ou contém caracteres inválidos.

UnauthorizedAccessException

O acesso ao arquivo destinationFileName’ é negado.

PathTooLongException

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.

NotSupportedException

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

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.

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.

 Português