Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Esta classe representa um arquivo de arquivo bzip2. Use-a para compor ou extrair arquivos bzip2.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
Herança
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
bzip2 comprime arquivos usando o algoritmo de compressão de texto de ordenação de bloco Burrows-Wheeler e codificação Huffman. Veja mais: https://pt.wikipedia.org/wiki/Bzip2
Construtores
Bzip2Archive()
Inicializa uma nova instância da classe Aspose.Zip.Bzip2.Bzip2Archive preparada para compressão.
public Bzip2Archive()
Exemplos
O seguinte exemplo mostra como comprimir um arquivo.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
Inicializa uma nova instância da classe Aspose.Zip.Bzip2.Bzip2Archive preparada para descompressão.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
Parâmetros
sourceStream
Stream
A fonte do arquivo.
loadOptions
Bzip2LoadOptions
As opções para carregar o arquivo.
Exemplos
Abra um arquivo de um stream e extraia-o para um MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
Observações
Este construtor não descomprime. Veja o método Aspose.Zip.Bzip2.Bzip2Archive.Open para descompressão.
Bzip2Archive(string, Bzip2LoadOptions)
Inicializa uma nova instância da classe Aspose.Zip.Bzip2.Bzip2Archive preparada para descompressão.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
Parâmetros
path
string
O caminho para o arquivo do arquivo.
loadOptions
Bzip2LoadOptions
As opções para carregar o arquivo.
Exemplos
Abra um arquivo de um caminho e extraia-o para um MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
Observações
Este construtor não descomprime. Veja o método Aspose.Zip.Bzip2.Bzip2Archive.Open para descompressão.
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 não foi encontrado.
O caminho especificado é inválido, como estar em uma unidade não mapeada.
O arquivo já está aberto.
Métodos
Dispose()
Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.
public void Dispose()
Dispose(bool)
Executa tarefas definidas pelo aplicativo 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 stream fornecido.
public void Extract(Stream destination)
Parâmetros
destination
Stream
Stream de destino. Deve ser gravável.
Exemplos
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
Exceções
destination
não suporta gravação.
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, ele será sobrescrito.
Retorna
Informações do arquivo extraído.
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 não foi encontrado.
O caminho especificado é inválido, como estar em uma unidade não mapeada.
O arquivo já está aberto.
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
destinationDirectory
é nulo.
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 dos arquivos devem ter menos 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 existir, o caminho contém um caractere de dois pontos (:) que não faz parte de um rótulo de unidade (“C:").
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 com, ou contém, apenas um caractere de dois pontos (:).
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 stream com o conteúdo do arquivo.
public Stream Open()
Retorna
O stream que representa o conteúdo do arquivo.
Exemplos
Uso:
Stream decompressed = archive.Open();
.NET 4.0 e superior - use o método Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 e anteriores - 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 stream para obter o conteúdo original do arquivo. Veja a seção de exemplos.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
Salva o arquivo no stream fornecido.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
Parâmetros
outputStream
Stream
Stream de destino.
saveOptions
Bzip2SaveOptions
Opções para salvar um arquivo bzip2. Se não especificado, um tamanho de bloco de 900 Kb será usado.
Exemplos
Escreve dados comprimidos no stream de resposta http.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Observações
outputStream
deve ser gravável.
Exceções
A fonte de dados a ser arquivada não foi fornecida.
outputStream
não é gravável.
A fonte do arquivo é somente leitura ou é um diretório.
O caminho da fonte do arquivo especificado é inválido, como estar em uma unidade não mapeada.
A fonte do arquivo já está aberta.
Save(string, Bzip2SaveOptions)
Salva o arquivo no arquivo de destino fornecido.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
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.
saveOptions
Bzip2SaveOptions
Opções para salvar um arquivo bzip2. Se não especificado, um tamanho de bloco de 900 Kb será usado.
Exemplos
Escreve dados comprimidos em um arquivo.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
Exceções
destinationFileName
é nulo.
O chamador não tem a permissão necessária para acessar.
O destinationFileName
está vazio, contém apenas espaços em branco ou contém caracteres inválidos.
O acesso ao arquivo destinationFileName
é negado.
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 dos arquivos devem ter menos de 260 caracteres.
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 stream de entrada para o arquivo.
Exemplos
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
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 (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
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
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
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.
SetSource(TarArchive, TarFormat)
Define o conteúdo a ser comprimido dentro do arquivo.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
Parâmetros
tarArchive
TarArchive
Arquivo Tar a ser comprimido.
format
TarFormat
Define o formato do cabeçalho tar.
Exemplos
using (var tarArchive = new TarArchive())
{
tarArchive.CreateEntry("first.bin", "data1.bin");
tarArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(tarArchive);
bzippedArchive.Save("archive.tar.bz2");
}
}
Observações
Use este método para compor um arquivo tar.bz2 conjunto.
SetSource(CpioArchive, CpioFormat)
Define o conteúdo a ser comprimido dentro do arquivo.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
Parâmetros
cpioArchive
CpioArchive
Arquivo Cpio a ser comprimido.
format
CpioFormat
Define o formato do cabeçalho cpio.
Exemplos
using (var cpioArchive = new CpioArchive())
{
cpioArchive.CreateEntry("first.bin", "data1.bin");
cpioArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(cpioArchive);
bzippedArchive.Save("archive.cpio.bz2");
}
}
Observações
Use este método para compor um arquivo cpio.bz2 conjunto.