Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Esta classe representa um arquivo de arquivo RAR. Use-a para extrair arquivos RAR.
public class RarArchive : 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
RarArchive(string, RarArchiveLoadOptions)
Inicializa uma nova instância da classe Aspose.Zip.Rar.RarArchive e compõe a lista de entradas que podem ser extraídas do arquivo.
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
Parâmetros
path
string
O caminho totalmente qualificado ou o caminho relativo para o arquivo de archive.
loadOptions
RarArchiveLoadOptions
Opções para carregar o archive existente.
Exemplos
O exemplo a seguir extrai um archive, em seguida, descomprime a primeira entrada para um MemoryStream
.
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive("data.rar"))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Observações
Este construtor não descomprime nenhuma entrada. Veja o método Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) para descompressã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.
RarArchive(Stream, RarArchiveLoadOptions)
Inicializa uma nova instância da classe Aspose.Zip.Rar.RarArchive e compõe a lista de entradas que podem ser extraídas do arquivo.
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
Parâmetros
sourceStream
Stream
A origem do archive.
loadOptions
RarArchiveLoadOptions
Opções para carregar o archive existente.
Exemplos
O exemplo a seguir decifra e descomprime a primeira entrada para um MemoryStream
.
var fs = File.OpenRead("encrypted.rar");
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive(fs, new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Observações
Este construtor não descomprime nenhuma entrada. Veja o método Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) para descompressão.
Exceções
sourceStream
não é buscável.
Assinatura errada para o archive. - ou - O arquivo não é um archive RAR.
Propriedades
Entries
Obtém as entradas do tipo Aspose.Zip.Rar.RarArchiveEntry que constituem o archive rar.
public ReadOnlyCollection<rararchiveentry> Entries { get; }
Valor da Propriedade
ReadOnlyCollection<RarArchiveEntry>
Métodos
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 descartados.
Dispose()
Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.
public void Dispose()
ExtractToDirectory(string, string)
Extrai todos os arquivos no archive para o diretório fornecido.
[Obsolete("Para extração de archive RAR criptografado, forneça a senha no construtor com Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parâmetros
destinationDirectory
string
O caminho para o diretório onde os arquivos extraídos serão colocados.
password
string
Senha opcional para descriptografia.
Exemplos
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
Observações
Se o diretório não existir, ele será criado.
Exceções
destinationDirectory
é 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:").
destinationDirectory
é uma string de comprimento zero, contém apenas espaços em branco ou contém um ou mais caracteres inválidos. Você pode consultar os caracteres inválidos usando o método System.IO.Path.GetInvalidPathChars. -ou- o caminho é prefixado com, ou contém, apenas um caractere dois pontos (:).
O diretório especificado pelo caminho é um arquivo. -ou- O nome da rede não é conhecido.
ExtractToDirectory(string)
Extrai todos os arquivos no archive 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 RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
Observações
Se o diretório não existir, ele será criado.
Exceções
destinationDirectory
é 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:").
destinationDirectory
é uma string de comprimento zero, contém apenas espaços em branco ou contém um ou mais caracteres inválidos. Você pode consultar os caracteres inválidos usando o método System.IO.Path.GetInvalidPathChars. -ou- o caminho é prefixado com, ou contém, apenas um caractere dois pontos (:).
O diretório especificado pelo caminho é um arquivo. -ou- O nome da rede não é conhecido.