Class RarArchive

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

objectRarArchive

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

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

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.

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

ArgumentException

sourceStream não é buscável.

InvalidDataException

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

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

ArgumentNullException

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

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

IOException

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

ArgumentNullException

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

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

IOException

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

 Português