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
Implementa
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
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.
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>
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
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
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, 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.
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
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
directory
é nulo.
O chamador não tem a permissão necessária para acessar directory
.
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
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
name
é nulo.
name
está vazio.
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
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
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 de 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 shar.
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
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
name
é nulo.
source
é nulo.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Exceções
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
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
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
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 é leitura.-ou- o caminho especificado é um diretório.-ou- O chamador não tem a permissão necessária.
destinationFileName
está em um formato inválido.
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
output
é nulo.
output
não é gravável. - ou - output
é o mesmo fluxo do qual extraímos.