Class XarArchive
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Esta classe representa um arquivo de arquivo xar.
public class XarArchive : 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
XarArchive(XarCompressionSettings)
Inicializa uma nova instância da classe Aspose.Zip.Xar.XarArchive.
public XarArchive(XarCompressionSettings defaultCompressionSettings = null)
Parâmetros
defaultCompressionSettings
XarCompressionSettings
As configurações de compressão padrão, aplicadas a todas as entradas do arquivo.
Exemplos
O exemplo a seguir mostra como compactar um arquivo.
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
XarArchive(Stream, XarLoadOptions)
Inicializa uma nova instância da classe Aspose.Zip.Xar.XarArchive e compõe a lista de entradas que podem ser extraídas do arquivo.
public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)
Parâmetros
sourceStream
Stream
A fonte do arquivo. Deve ser buscável.
loadOptions
XarLoadOptions
As opções para carregar o arquivo.
Exemplos
O exemplo a seguir mostra como extrair todas as entradas para um diretório.
using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Observações
Este construtor não descompacta nenhuma entrada. Veja o método Aspose.Zip.Xar.XarFileEntry.Open para descompactação.
Exceções
sourceStream
é nulo.
sourceStream
não é buscável.
sourceStream
não é um arquivo xar válido.
XarArchive(string, XarLoadOptions)
Inicializa uma nova instância da classe Aspose.Zip.Xar.XarArchive e compõe a lista de entradas que podem ser extraídas do arquivo.
public XarArchive(string path, XarLoadOptions loadOptions = null)
Parâmetros
path
string
O caminho para o arquivo do arquivo.
loadOptions
XarLoadOptions
As opções para carregar o arquivo.
Exemplos
O exemplo a seguir mostra como extrair todas as entradas para um diretório.
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Observações
Este construtor não descompacta nenhuma entrada. Veja o método Aspose.Zip.Xar.XarFileEntry.Open para descompactaçã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.
O arquivo em path
não é um arquivo xar válido.
Propriedades
Entries
Obtém as entradas do tipo Aspose.Zip.Xar.XarEntry que constituem o arquivo.
public IEnumerable<xarentry> Entries { get; }
Valor da Propriedade
IEnumerable<XarEntry>
Métodos
CreateEntries(string, bool, XarCompressionSettings)
Adiciona ao arquivo todos os arquivos e diretórios recursivamente no diretório fornecido.
public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parâmetros
sourceDirectory
string
Diretório a ser compactado.
includeRootDirectory
bool
Indica se deve incluir o diretório raiz em si ou não.
compressionSettings
XarCompressionSettings
As configurações de compressão usadas para os itens Aspose.Zip.Xar.XarEntry adicionados.
Retorna
Instância de entrada Xar.
Exemplos
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(@"C:\folder", false);
archive.Save(xarFile);
}
}
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, XarCompressionSettings)
Adiciona ao arquivo todos os arquivos e diretórios recursivamente no diretório fornecido.
public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parâmetros
directory
DirectoryInfo
Diretório a ser compactado.
includeRootDirectory
bool
Indica se deve incluir o diretório raiz em si ou não.
compressionSettings
XarCompressionSettings
As configurações de compressão usadas para os itens Aspose.Zip.Xar.XarEntry adicionados.
Retorna
Instância de entrada Xar.
Exemplos
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
archive.Save(xarFile);
}
}
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, XarCompressionSettings)
Cria uma única entrada dentro do arquivo.
public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Parâmetros
name
string
O nome da entrada.
fileInfo
FileInfo
Os metadados do arquivo ou pasta a ser compactado.
openImmediately
bool
Verdadeiro se abrir o arquivo imediatamente, caso contrário, abrir o arquivo ao salvar o arquivo.
compressionSettings
XarCompressionSettings
As configurações de compressão usadas para o item Aspose.Zip.Xar.XarEntry adicionado.
Retorna
Instância de entrada Xar.
Exemplos
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.xar");
}
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, XarCompressionSettings)
Cria uma única entrada dentro do arquivo.
public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
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.
compressionSettings
XarCompressionSettings
As configurações de compressão usadas para o item Aspose.Zip.Xar.XarEntry adicionado.
Retorna
Instância de entrada Xar.
Exemplos
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
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
é 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 xar.
O arquivo em sourcePath
contém dois pontos (:) no meio da string.
Impossível modificar o arquivo xar.
CreateEntry(string, Stream, XarCompressionSettings)
Cria uma única entrada dentro do arquivo.
public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)
Parâmetros
name
string
O nome da entrada.
source
Stream
O fluxo de entrada para a entrada.
compressionSettings
XarCompressionSettings
As configurações de compressão usadas para o item Aspose.Zip.Xar.XarEntry adicionado.
Retorna
Instância de entrada Xar.
Exemplos
using (var archive = new XarArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.xar");
}
Exceções
name
é nulo.
source
é nulo.
name
está vazio.
Impossível modificar o arquivo xar.
DeleteEntry(XarEntry)
Remove a primeira ocorrência de uma entrada específica da lista de entradas.
public XarArchive DeleteEntry(XarEntry entry)
Parâmetros
entry
XarEntry
A entrada a ser removida da lista de entradas.
Retorna
Instância de entrada Xar.
Exemplos
Aqui está como você pode remover todas as entradas, exceto a última:
using (var archive = new XarArchive("archive.xar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries.FirstOrDefault());
archive.Save(outputXarFile);
}
Exceções
entry
é nulo.
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.
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 XarArchive("archive.xar"))
{
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 dois pontos (:) que não faz parte de um rótulo de unidade (“C:").
o caminho é 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.
O arquivo está corrompido.
Save(string, XarSaveOptions)
Salva o arquivo no arquivo de destino fornecido.
public void Save(string destinationFileName, XarSaveOptions saveOptions = null)
Parâmetros
destinationFileName
string
O caminho do arquivo a ser criado. Se o nome do arquivo especificado apontar para um arquivo existente, ele será substituído.
saveOptions
XarSaveOptions
Opções para salvar o arquivo xar.
Exceções
destinationFileName
é nulo.
Impossível modificar o arquivo xar.
Save(Stream, XarSaveOptions)
Salva o arquivo no fluxo fornecido.
public void Save(Stream output, XarSaveOptions saveOptions = null)
Parâmetros
output
Stream
Fluxo de destino.
saveOptions
XarSaveOptions
Opções para salvar o arquivo xar.
Exceções
output
é nulo.
output
não é gravável/legível ou não é buscável.
Impossível modificar o arquivo xar.