Class XarArchive

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

objectXarArchive

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

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

ArgumentNullException

sourceStream é nulo.

ArgumentException

sourceStream não é buscável.

InvalidDataException

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

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

InvalidDataException

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&gt;

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

XarArchive

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

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

XarArchive

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

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

XarEntry

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

ArgumentNullException

name é nulo.

ArgumentException

name está vazio.

ArgumentNullException

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

XarEntry

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

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 é 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 xar.

NotSupportedException

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

InvalidOperationException

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

XarEntry

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

ArgumentNullException

name é nulo.

ArgumentNullException

source é nulo.

ArgumentException

name está vazio.

InvalidOperationException

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

XarArchive

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 &gt; 1)
        archive.DeleteEntry(archive.Entries.FirstOrDefault());
    archive.Save(outputXarFile);
}

Exceções

ArgumentNullException

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

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 dois pontos (:) que não faz parte de um rótulo de unidade (“C:").

ArgumentException

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

IOException

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

InvalidDataException

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

ArgumentNullException

destinationFileName é nulo.

InvalidOperationException

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

ArgumentNullException

output é nulo.

ArgumentException

output não é gravável/legível ou não é buscável.

InvalidOperationException

Impossível modificar o arquivo xar.

 Português