Class SharArchive

Class SharArchive

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

Esta classe representa um arquivo de archive shar.

public class SharArchive : IDisposable

Herança

objectSharArchive

Implementa

IDisposable

Membros Herdados

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

Construtores

SharArchive()

Inicializa uma nova instância da classe Aspose.Zip.Shar.SharArchive.

public SharArchive()

Exemplos

O exemplo a seguir mostra como comprimir um arquivo.

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

SharArchive(string)

Inicializa uma nova instância da classe Aspose.Zip.Shar.SharArchive preparada para descomprimir.

public SharArchive(string path)

Parâmetros

path string

Caminho para a origem do arquivo de archive.

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.

Propriedades

Entries

Obtém as entradas do tipo Aspose.Zip.Shar.SharEntry que constituem o archive.

public ReadOnlyCollection<sharentry> Entries { get; }

Valor da Propriedade

ReadOnlyCollection<SharEntry&gt;

Métodos

CreateEntries(string, bool)

Adiciona ao archive todos os arquivos e diretórios recursivamente no diretório fornecido.

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

Parâmetros

sourceDirectory string

Diretório a ser comprimido.

includeRootDirectory bool

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

Retorna

SharArchive

Instância de entrada Shar.

Exemplos

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

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, nome do arquivo ou ambos especificados 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, nome do arquivo ou ambos especificados são muito longos.

IOException

sourceDirectory refere-se a um arquivo, não a um diretório.

CreateEntries(DirectoryInfo, bool)

Adiciona ao archive todos os arquivos e diretórios recursivamente no diretório fornecido.

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

Parâmetros

directory DirectoryInfo

Diretório a ser comprimido.

includeRootDirectory bool

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

Retorna

SharArchive

Instância de entrada Shar.

Exemplos

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

Exceções

ArgumentNullException

directory é nulo.

SecurityException

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

IOException

directory refere-se a um arquivo, não a um diretório.

CreateEntry(string, FileInfo, bool)

Cria uma única entrada dentro do archive.

public SharEntry 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 comprimido.

openImmediately bool

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

Retorna

SharEntry

Instância de entrada Shar.

Exemplos

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

Observações

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

Exceções

ArgumentNullException

name é nulo.

ArgumentException

name está vazio.

ArgumentNullException

fileInfo é nulo.

CreateEntry(string, string, bool)

Cria uma única entrada dentro do archive.

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

Parâmetros

name string

O nome da entrada.

sourcePath string

Caminho para o arquivo a ser comprimido.

openImmediately bool

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

Retorna

SharEntry

Instância de entrada Shar.

Exemplos

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

Observações

O nome da entrada é definido exclusivamente no 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 archive 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 de 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 shar.

NotSupportedException

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

CreateEntry(string, Stream)

Cria uma única entrada dentro do archive.

public SharEntry CreateEntry(string name, Stream source)

Parâmetros

name string

O nome da entrada.

source Stream

O fluxo de entrada para a entrada.

Retorna

SharEntry

Instância de entrada Shar.

Exemplos

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

Exceções

ArgumentNullException

name é nulo.

ArgumentNullException

source é nulo.

ArgumentException

name está vazio.

DeleteEntry(SharEntry)

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

public SharArchive DeleteEntry(SharEntry entry)

Parâmetros

entry SharEntry

A entrada a ser removida da lista de entradas.

Retorna

SharArchive

Instância de entrada Shar.

Exemplos

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

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Exceções

ArgumentNullException

entry é nulo.

DeleteEntry(int)

Remove a entrada da lista de entradas pelo índice.

public SharArchive DeleteEntry(int entryIndex)

Parâmetros

entryIndex int

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

Retorna

SharArchive

O archive com a entrada removida.

Exemplos

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

Exceções

ArgumentOutOfRangeException

entryIndex é menor que 0.-ou- entryIndex é igual ou maior que a contagem de Entries.

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.

Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.

public void Dispose()

Save(string)

Salva o archive no arquivo de destino fornecido.

public void Save(string destinationFileName)

Parâmetros

destinationFileName string

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

Exemplos

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

Observações

É possível salvar um archive no mesmo caminho de onde foi carregado. No entanto, isso não é recomendado porque 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 é leitura.-ou- o caminho especificado é um diretório.-ou- O chamador não tem a permissão necessária.

NotSupportedException

destinationFileName está em um formato inválido.

FileNotFoundException

O arquivo não foi encontrado.

Save(Stream)

Salva o archive no fluxo fornecido.

public void Save(Stream output)

Parâmetros

output Stream

Fluxo de destino.

Exemplos

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

Observações

output deve ser gravável.

Exceções

ArgumentNullException

output é nulo.

ArgumentException

output não é gravável. - ou - output é o mesmo fluxo do qual extraímos.

 Português