Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Cette classe représente un fichier d’archive RAR. Utilisez-la pour extraire des archives RAR.
public class RarArchive : IArchive, IDisposable
Héritage
Implémente
Membres hérités
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Constructeurs
RarArchive(string, RarArchiveLoadOptions)
Initialise une nouvelle instance de la classe Aspose.Zip.Rar.RarArchive et compose la liste des entrées pouvant être extraites de l’archive.
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
Paramètres
path
string
Le chemin complètement qualifié ou le chemin relatif vers le fichier d’archive.
loadOptions
RarArchiveLoadOptions
Options pour charger l’archive existante.
Exemples
L'exemple suivant extrait une archive, puis décompresse la première entrée dans 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);
}
}
Remarques
Ce constructeur ne décompresse aucune entrée. Voir la méthode Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) pour décompresser.
Exceptions
path
est nul.
L’appelant n’a pas la permission requise pour accéder.
Le path
est vide, ne contient que des espaces blancs, ou contient des caractères invalides.
L’accès au fichier path
est refusé.
Le path
, le nom du fichier, ou les deux dépassent la longueur maximale définie par le système. Par exemple, sur les plateformes Windows, les chemins doivent être inférieurs à 248 caractères, et les noms de fichiers doivent être inférieurs à 260 caractères.
Le fichier à path
contient deux-points (:) au milieu de la chaîne.
Le fichier est introuvable.
Le chemin spécifié est invalide, par exemple s’il se trouve sur un lecteur non mappé.
Le fichier est déjà ouvert.
RarArchive(Stream, RarArchiveLoadOptions)
Initialise une nouvelle instance de la classe Aspose.Zip.Rar.RarArchive et compose la liste des entrées pouvant être extraites de l’archive.
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
Paramètres
sourceStream
Stream
La source de l’archive.
loadOptions
RarArchiveLoadOptions
Options pour charger l’archive existante.
Exemples
L'exemple suivant déchiffre et décompresse la première entrée dans 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);
}
}
Remarques
Ce constructeur ne décompresse aucune entrée. Voir la méthode Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) pour décompresser.
Exceptions
sourceStream
n’est pas seekable.
Signature incorrecte pour l’archive. - ou - Le fichier n’est pas une archive RAR.
Propriétés
Entries
Obtient les entrées de type Aspose.Zip.Rar.RarArchiveEntry constituant l’archive rar.
public ReadOnlyCollection<rararchiveentry> Entries { get; }
Valeur de la propriété
ReadOnlyCollection<RarArchiveEntry>
Méthodes
Dispose(bool)
Effectue des tâches définies par l’application associées à la libération, la libération ou la réinitialisation des ressources non gérées.
protected virtual void Dispose(bool disposing)
Paramètres
disposing
bool
Indique si les ressources gérées doivent être libérées.
Dispose()
Effectue des tâches définies par l’application associées à la libération, la libération ou la réinitialisation des ressources non gérées.
public void Dispose()
ExtractToDirectory(string, string)
Extrait tous les fichiers de l’archive vers le répertoire fourni.
[Obsolete("Pour l'extraction d'une archive RAR chiffrée, veuillez fournir le mot de passe dans le constructeur avec Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
Paramètres
destinationDirectory
string
Le chemin vers le répertoire où placer les fichiers extraits.
password
string
Mot de passe optionnel pour le déchiffrement.
Exemples
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
Remarques
Si le répertoire n’existe pas, il sera créé.
Exceptions
destinationDirectory
est nul.
Le chemin spécifié, le nom de fichier, ou les deux dépassent la longueur maximale définie par le système. Par exemple, sur les plateformes Windows, les chemins doivent être inférieurs à 248 caractères et les noms de fichiers doivent être inférieurs à 260 caractères.
L’appelant n’a pas la permission requise pour accéder au répertoire existant.
Si le répertoire n’existe pas, le chemin contient un caractère deux-points (:) qui ne fait pas partie d’une étiquette de lecteur (“C:").
destinationDirectory
est une chaîne de longueur zéro, ne contient que des espaces blancs, ou contient un ou plusieurs caractères invalides. Vous pouvez interroger les caractères invalides en utilisant la méthode System.IO.Path.GetInvalidPathChars. - ou - le chemin est préfixé par, ou contient, uniquement un caractère deux-points (:).
Le répertoire spécifié par le chemin est un fichier. - ou - Le nom du réseau est inconnu.
ExtractToDirectory(string)
Extrait tous les fichiers de l’archive vers le répertoire fourni.
public void ExtractToDirectory(string destinationDirectory)
Paramètres
destinationDirectory
string
Le chemin vers le répertoire où placer les fichiers extraits.
Exemples
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarques
Si le répertoire n’existe pas, il sera créé.
Exceptions
destinationDirectory
est nul.
Le chemin spécifié, le nom de fichier, ou les deux dépassent la longueur maximale définie par le système. Par exemple, sur les plateformes Windows, les chemins doivent être inférieurs à 248 caractères et les noms de fichiers doivent être inférieurs à 260 caractères.
L’appelant n’a pas la permission requise pour accéder au répertoire existant.
Si le répertoire n’existe pas, le chemin contient un caractère deux-points (:) qui ne fait pas partie d’une étiquette de lecteur (“C:").
destinationDirectory
est une chaîne de longueur zéro, ne contient que des espaces blancs, ou contient un ou plusieurs caractères invalides. Vous pouvez interroger les caractères invalides en utilisant la méthode System.IO.Path.GetInvalidPathChars. - ou - le chemin est préfixé par, ou contient, uniquement un caractère deux-points (:).
Le répertoire spécifié par le chemin est un fichier. - ou - Le nom du réseau est inconnu.