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
Implementa
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
sourceStream
é nulo.
sourceStream
não é buscável.
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
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
foi 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.
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>
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
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
sourceDirectory
é nulo.
O chamador não tem a permissão necessária para acessar sourceDirectory
.
sourceDirectory
contém caracteres inválidos, como “, <, > ou |.
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.
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
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
directory
é nulo.
O chamador não tem a permissão necessária para acessar directory
.
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
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
name
é nulo.
name
está vazio.
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
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
sourcePath
é nulo.
O chamador não tem a permissão necessária para acessar.
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.
O acesso ao arquivo sourcePath
foi negado.
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.
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
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
name
é nulo.
source
é nulo.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputCpioFile);
}
Exceções
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
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
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
path é 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:").
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 (:).
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
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.
destinationFileName
é nulo.
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 destinationFileName
especificado é inválido (por exemplo, está em uma unidade não mapeada).
Ocorreu um erro de I/O ao abrir o arquivo.
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.
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
output
é nulo.
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
output
é nulo.
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.
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
output
é nulo.
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
output
é nulo.
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
output
é nulo.
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
output
é nulo.
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");
}
}