Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Questa classe rappresenta un file di archivio RAR. Usala per estrarre archivi RAR.
public class RarArchive : IArchive, IDisposable
Ereditarietà
Implementa
Membri ereditati
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Costruttori
RarArchive(string, RarArchiveLoadOptions)
Inizializza una nuova istanza della classe Aspose.Zip.Rar.RarArchive e compone l’elenco delle voci che possono essere estratte dall’archivio.
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
Parametri
path
string
Il percorso completamente qualificato o relativo al file di archivio.
loadOptions
RarArchiveLoadOptions
Opzioni per caricare l’archivio esistente.
Esempi
L'esempio seguente estrae un archivio, quindi decomprime la prima voce in un 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);
}
}
Osservazioni
Questo costruttore non decomprime alcuna voce. Vedi il metodo Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) per la decompressione.
Eccezioni
path
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
Il path
è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
Accesso al file path
negato.
Il path
, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.
Il file in path
contiene due punti (:) nel mezzo della stringa.
Il file non è stato trovato.
Il percorso specificato non è valido, ad esempio se si trova su un’unità non mappata.
Il file è già aperto.
RarArchive(Stream, RarArchiveLoadOptions)
Inizializza una nuova istanza della classe Aspose.Zip.Rar.RarArchive e compone l’elenco delle voci che possono essere estratte dall’archivio.
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
Parametri
sourceStream
Stream
La sorgente dell’archivio.
loadOptions
RarArchiveLoadOptions
Opzioni per caricare l’archivio esistente.
Esempi
L'esempio seguente decifra e decomprime la prima voce in un 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);
}
}
Osservazioni
Questo costruttore non decomprime alcuna voce. Vedi il metodo Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) per la decompressione.
Eccezioni
sourceStream
non è cercabile.
Firma errata per l’archivio. - o - Il file non è un archivio RAR.
Proprietà
Entries
Ottiene le voci di tipo Aspose.Zip.Rar.RarArchiveEntry che costituiscono l’archivio rar.
public ReadOnlyCollection<rararchiveentry> Entries { get; }
Valore della Proprietà
ReadOnlyCollection<RarArchiveEntry>
Metodi
Dispose(bool)
Esegue attività definite dall’applicazione associate alla liberazione, al rilascio o al ripristino delle risorse non gestite.
protected virtual void Dispose(bool disposing)
Parametri
disposing
bool
Se le risorse gestite devono essere liberate.
Dispose()
Esegue attività definite dall’applicazione associate alla liberazione, al rilascio o al ripristino delle risorse non gestite.
public void Dispose()
ExtractToDirectory(string, string)
Estrae tutti i file nell’archivio nella directory fornita.
[Obsolete("Per l'estrazione di archivi RAR crittografati, fornire la password nel costruttore con Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parametri
destinationDirectory
string
Il percorso della directory in cui posizionare i file estratti.
password
string
Password opzionale per la decrittazione.
Esempi
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
Osservazioni
Se la directory non esiste, verrà creata.
Eccezioni
destinationDirectory
è nullo.
Il percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.
Il chiamante non ha il permesso richiesto per accedere alla directory esistente.
Se la directory non esiste, il percorso contiene un carattere due punti (:) che non fa parte di un’etichetta di unità (“C:").
destinationDirectory
è una stringa di lunghezza zero, contiene solo spazi bianchi o contiene uno o più caratteri non validi. Puoi interrogare i caratteri non validi utilizzando il metodo System.IO.Path.GetInvalidPathChars. -o- il percorso è prefissato con, o contiene, solo un carattere due punti (:).
La directory specificata dal percorso è un file. -o- Il nome di rete non è noto.
ExtractToDirectory(string)
Estrae tutti i file nell’archivio nella directory fornita.
public void ExtractToDirectory(string destinationDirectory)
Parametri
destinationDirectory
string
Il percorso della directory in cui posizionare i file estratti.
Esempi
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
Osservazioni
Se la directory non esiste, verrà creata.
Eccezioni
destinationDirectory
è nullo.
Il percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.
Il chiamante non ha il permesso richiesto per accedere alla directory esistente.
Se la directory non esiste, il percorso contiene un carattere due punti (:) che non fa parte di un’etichetta di unità (“C:").
destinationDirectory
è una stringa di lunghezza zero, contiene solo spazi bianchi o contiene uno o più caratteri non validi. Puoi interrogare i caratteri non validi utilizzando il metodo System.IO.Path.GetInvalidPathChars. -o- il percorso è prefissato con, o contiene, solo un carattere due punti (:).
La directory specificata dal percorso è un file. -o- Il nome di rete non è noto.