Class CpioArchive

Class CpioArchive

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

Esta classe representa um arquivo de arquivo cpio.

public class CpioArchive : IArchive, IDisposable

Herança

objectCpioArchive

Implementa

IArchive, IDisposable

Membros Herdados

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

Construtores

CpioArchive()

Inicializa uma nova instância da classe Aspose.Zip.Cpio.CpioArchive.

public CpioArchive()

Exemplos

O exemplo a seguir mostra como compactar um arquivo.

using (var archive = new CpioArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.cpio");
}

CpioArchive(Stream)

Inicializa uma nova instância da classe Aspose.Zip.Cpio.CpioArchive e compõe a lista de entradas que podem ser extraídas do arquivo.

public CpioArchive(Stream sourceStream)

Parâmetros

sourceStream Stream

A fonte do arquivo. Deve ser buscável.

Exemplos

O exemplo a seguir mostra como extrair todas as entradas para um diretório.

using (var archive = new CpioArchive(File.OpenRead("archive.cpio")))
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Observações

Este construtor não desempacota nenhuma entrada. Veja o método Aspose.Zip.Cpio.CpioEntry.Open para desempacotar.

Exceções

ArgumentNullException

sourceStream é nulo.

ArgumentException

sourceStream não é buscável.

InvalidDataException

sourceStream não é um arquivo cpio válido.

CpioArchive(string)

Inicializa uma nova instância da classe Aspose.Zip.Cpio.CpioArchive e compõe a lista de entradas que podem ser extraídas do arquivo.

public CpioArchive(string path)

Parâmetros

path string

O caminho para o arquivo de arquivo.

Exemplos

O exemplo a seguir mostra como extrair todas as entradas para um diretório.

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Observações

Este construtor não desempacota nenhuma entrada. Veja o método Aspose.Zip.Cpio.CpioEntry.Open para desempacotar.

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 foi 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 dos arquivos devem ter menos de 260 caracteres.

NotSupportedException

O arquivo em path contém dois pontos (:) no meio da string.

FileNotFoundException

O arquivo não foi encontrado.

DirectoryNotFoundException

O caminho especificado é inválido, como estar em uma unidade não mapeada.

IOException

O arquivo já está aberto.

Propriedades

Entries

Obtém as entradas do tipo Aspose.Zip.Cpio.CpioEntry que constituem o arquivo.

public ReadOnlyCollection<cpioentry> Entries { get; }

Valor da Propriedade

ReadOnlyCollection<CpioEntry&gt;

Métodos

CreateEntries(string, bool)

Adiciona ao arquivo todos os arquivos e diretórios recursivamente no diretório dado.

public CpioArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parâmetros

sourceDirectory string

Diretório a ser compactado.

includeRootDirectory bool

Indica se deve incluir o diretório raiz em si ou não.

Retorna

CpioArchive

Instância de entrada Cpio.

Exemplos

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(cpioFile);
    }
}

Exceções

ArgumentNullException

sourceDirectory é nulo.

SecurityException

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

ArgumentException

sourceDirectory contém caracteres inválidos, como “, <, > ou |.

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 dos arquivos devem ter menos de 260 caracteres. O caminho especificado, nome do arquivo ou ambos são muito longos.

IOException

sourceDirectory representa um arquivo, não um diretório.

CreateEntries(DirectoryInfo, bool)

Adiciona ao arquivo todos os arquivos e diretórios recursivamente no diretório dado.

public CpioArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parâmetros

directory DirectoryInfo

Diretório a ser compactado.

includeRootDirectory bool

Indica se deve incluir o diretório raiz em si ou não.

Retorna

CpioArchive

Instância de entrada Cpio.

Exemplos

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(cpioFile);
    }
}

Exceções

ArgumentNullException

directory é nulo.

SecurityException

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

IOException

directory representa um arquivo, não um diretório.

CreateEntry(string, FileInfo, bool)

Cria uma única entrada dentro do arquivo.

public CpioEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

Parâmetros

name string

O nome da entrada.

fileInfo FileInfo

Os metadados do arquivo ou pasta a ser compactada.

openImmediately bool

Verdadeiro se abrir o arquivo imediatamente, caso contrário, abrir o arquivo ao salvar o arquivo.

Retorna

CpioEntry

Instância de entrada Cpio.

Exemplos

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new CpioArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.cpio");
}

Observações

Se o arquivo for aberto imediatamente com o parâmetro openImmediately, ele ficará bloqueado até que o arquivo seja descartado.

Exceções

ArgumentNullException

name é nulo.

ArgumentException

name está vazio.

ArgumentNullException

fileInfo é nulo.

CreateEntry(string, string, bool)

Cria uma única entrada dentro do arquivo.

public CpioEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

Parâmetros

name string

O nome da entrada.

sourcePath string

Caminho para o arquivo a ser compactado.

openImmediately bool

Verdadeiro se abrir o arquivo imediatamente, caso contrário, abrir o arquivo ao salvar o arquivo.

Retorna

CpioEntry

Instância de entrada Cpio.

Exemplos

using (var archive = new CpioArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.cpio");
}

Observações

O nome da entrada é definido exclusivamente dentro do parâmetro name. O nome do arquivo fornecido no parâmetro sourcePath não afeta o nome da entrada.

Se o arquivo for aberto imediatamente com o parâmetro openImmediately, ele ficará bloqueado até que o arquivo seja descartado.

Exceções

ArgumentNullException

sourcePath é nulo.

SecurityException

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

ArgumentException

O sourcePath está vazio, contém apenas espaços em branco ou contém caracteres inválidos. - ou - O nome do arquivo, como parte do name, excede 100 símbolos.

UnauthorizedAccessException

O acesso ao arquivo sourcePath foi negado.

PathTooLongException

O sourcePath, 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. - ou - name é muito longo para cpio.

NotSupportedException

O arquivo em sourcePath contém dois pontos (:) no meio da string.

CreateEntry(string, Stream)

Cria uma única entrada dentro do arquivo.

public CpioEntry CreateEntry(string name, Stream source)

Parâmetros

name string

O nome da entrada.

source Stream

O fluxo de entrada para a entrada.

Retorna

CpioEntry

Instância de entrada Cpio.

Exemplos

using (var archive = new CpioArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.cpio");
}

Exceções

ArgumentNullException

name é nulo.

ArgumentNullException

source é nulo.

ArgumentException

name está vazio.

DeleteEntry(CpioEntry)

Remove a primeira ocorrência de uma entrada específica da lista de entradas.

public CpioArchive DeleteEntry(CpioEntry entry)

Parâmetros

entry CpioEntry

A entrada a ser removida da lista de entradas.

Retorna

CpioArchive

Instância de entrada Cpio.

Exemplos

Aqui está como você pode remover todas as entradas, exceto a última:

using (var archive = new CpioArchive("archive.cpio"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputCpioFile);
}

Exceções

ArgumentNullException

entry é nulo.

DeleteEntry(int)

Remove a entrada da lista de entradas pelo índice.

public CpioArchive DeleteEntry(int entryIndex)

Parâmetros

entryIndex int

O índice baseado em zero da entrada a ser removida.

Retorna

CpioArchive

O arquivo com a entrada removida.

Exemplos

using (var archive = new CpioArchive("two_files.cpio"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.cpio");
}

Exceções

ArgumentOutOfRangeException

entryIndex é menor que 0.-ou- entryIndex é igual ou maior que Entries count.

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

ExtractToDirectory(string)

Extrai todos os arquivos no 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.

Exemplos

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Observações

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

Exceções

ArgumentNullException

path é 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 dos 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

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

IOException

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

Save(string, CpioFormat)

Salva o arquivo no destino fornecido.

public void Save(string destinationFileName, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

destinationFileName string

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

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (var archive = new CpioArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.cpio");
}

Observações

É possível salvar um arquivo no mesmo caminho de onde foi carregado. No entanto, isso não é recomendado, pois essa abordagem utiliza cópia para um arquivo temporário.

Exceções

ArgumentException

destinationFileName é uma string de comprimento zero, contém apenas espaços em branco ou contém um ou mais caracteres inválidos, conforme definido por System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName é nulo.

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 dos arquivos devem ter menos de 260 caracteres.

DirectoryNotFoundException

O destinationFileName especificado é inválido (por exemplo, está em uma unidade não mapeada).

IOException

Ocorreu um erro de I/O ao abrir o arquivo.

UnauthorizedAccessException

destinationFileName especificou um arquivo que é somente leitura e o acesso não é de leitura. -ou- o caminho especificou um diretório. -ou- O chamador não tem a permissão necessária.

NotSupportedException

destinationFileName está em um formato inválido.

Save(Stream, CpioFormat)

Salva o arquivo no fluxo fornecido.

public void Save(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

output Stream

Fluxo de destino.

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(cpioFile);
    }
}

Observações

output deve ser gravável.

Exceções

ArgumentNullException

output é nulo.

ArgumentException

output não é gravável. - ou - output é o mesmo fluxo de onde extraímos. - OU - É impossível salvar o arquivo em cpioFormat devido a restrições de formato.

SaveGzipped(Stream, CpioFormat)

Salva o arquivo no fluxo com compressão gzip.

public void SaveGzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

output Stream

Fluxo de destino.

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream result = File.OpenWrite("result.cpio.gz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Observações

output deve ser gravável.

Exceções

ArgumentNullException

output é nulo.

ArgumentException

output não é gravável.

SaveGzipped(string, CpioFormat)

Salva o arquivo no caminho com compressão gzip.

public void SaveGzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

path string

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

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.gz");
    }
}

SaveLZMACompressed(Stream, CpioFormat)

Salva o arquivo no fluxo com compressão LZMA.

public void SaveLZMACompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

output Stream

Fluxo de destino.

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream result = File.OpenWrite("result.cpio.lzma"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveLZMACompressed(result);
        }
    }
}

Observações

output deve ser gravável.

Importante: o arquivo cpio é composto e, em seguida, comprimido dentro deste método, seu conteúdo é mantido internamente. Cuidado com o consumo de memória.

SaveLZMACompressed(string, CpioFormat)

Salva o arquivo no caminho com compressão lzma.

public void SaveLZMACompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

path string

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

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveLZMACompressed("result.cpio.lzma");
    }
}

Observações

Importante: o arquivo cpio é composto e, em seguida, comprimido dentro deste método, seu conteúdo é mantido internamente. Cuidado com o consumo de memória.

SaveLzipped(Stream, CpioFormat)

Salva o arquivo no fluxo com compressão lzip.

public void SaveLzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

output Stream

Fluxo de destino.

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream result = File.OpenWrite("result.cpio.lz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Observações

output deve ser gravável.

Exceções

ArgumentNullException

output é nulo.

ArgumentException

output não é gravável.

SaveLzipped(string, CpioFormat)

Salva o arquivo no caminho com compressão lzip.

public void SaveLzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

path string

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

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.lz");
    }
}

SaveXzCompressed(Stream, CpioFormat, XzArchiveSettings)

Salva o arquivo no fluxo com compressão xz.

public void SaveXzCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parâmetros

output Stream

Fluxo de destino.

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

settings XzArchiveSettings

Conjunto de configurações do arquivo xz: tamanho do dicionário, tamanho do bloco, tipo de verificação.

Exemplos

using (FileStream result = File.OpenWrite("result.cpio.xz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveXzCompressed(result);
        }
    }
}

Observações

output deve ser gravável.

Exceções

ArgumentNullException

output é nulo.

ArgumentException

output não é gravável.

SaveXzCompressed(string, CpioFormat, XzArchiveSettings)

Salva o arquivo no caminho com compressão xz.

public void SaveXzCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parâmetros

path string

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

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

settings XzArchiveSettings

Conjunto de configurações do arquivo xz: tamanho do dicionário, tamanho do bloco, tipo de verificação.

Exemplos

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveXzCompressed("result.cpio.xz");
    }
}

SaveZCompressed(Stream, CpioFormat)

Salva o arquivo no fluxo com compressão Z.

public void SaveZCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

output Stream

Fluxo de destino.

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream result = File.OpenWrite("result.cpio.Z"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZCompressed(result);
        }
    }
}

Observações

output deve ser gravável.

Exceções

ArgumentNullException

output é nulo.

ArgumentException

output não é gravável.

SaveZCompressed(string, CpioFormat)

Salva o arquivo no caminho com compressão Z.

public void SaveZCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

path string

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

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZCompressed("result.cpio.Z");
    }
}

SaveZstandard(Stream, CpioFormat)

Salva o arquivo no fluxo com compressão Zstandard.

public void SaveZstandard(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

output Stream

Fluxo de destino.

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream result = File.OpenWrite("result.cpio.zst"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZstandard(result);
        }
    }
}

Observações

output deve ser gravável.

Exceções

ArgumentNullException

output é nulo.

ArgumentException

output não é gravável.

SaveZstandard(string, CpioFormat)

Salva o arquivo no caminho com compressão Zstandard.

public void SaveZstandard(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parâmetros

path string

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

cpioFormat CpioFormat

Define o formato do cabeçalho cpio.

Exemplos

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZstandard("result.cpio.zst");
    }
}
 Português