Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Représente un fichier unique dans l’archive.
public abstract class RarArchiveEntry : IArchiveFileEntry
Héritage
Dérivé
RarArchiveEntryEncrypted, RarArchiveEntryPlain
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()
Remarques
Cast un instance de Aspose.Zip.Rar.RarArchiveEntry en Aspose.Zip.Rar.RarArchiveEntryEncrypted pour déterminer si l’entrée est chiffrée ou non.
Propriétés
CompressedSize
Obtient la taille du fichier compressé.
public ulong CompressedSize { get; }
Valeur de propriété
CreationTime
Obtient la date et l’heure de création.
public DateTime CreationTime { get; }
Valeur de propriété
IsDirectory
Obtient une valeur indiquant si l’entrée représente un répertoire.
public bool IsDirectory { get; }
Valeur de propriété
LastAccessTime
Obtient la date et l’heure du dernier accès.
public DateTime LastAccessTime { get; }
Valeur de propriété
ModificationTime
Obtient la date et l’heure de la dernière modification.
public DateTime ModificationTime { get; }
Valeur de propriété
Name
Obtient le nom de l’entrée dans l’archive.
public string Name { get; }
Valeur de propriété
Source
Obtient le flux de données source pour l’entrée.
protected Stream Source { get; set; }
Valeur de propriété
UncompressedSize
Obtient la taille du fichier original.
public ulong UncompressedSize { get; }
Valeur de propriété
Méthodes
Extract(string, string)
Extrait l’entrée vers le système de fichiers par le chemin fourni.
public FileInfo Extract(string path, string password = null)
Paramètres
path
string
Le chemin vers le fichier de destination. Si le fichier existe déjà, il sera écrasé.
password
string
Mot de passe optionnel pour le déchiffrement.
Retourne
Les informations sur le fichier composé.
Exemples
Extraire deux entrées de l'archive rar.
using (FileStream rarFile = File.Open("archive.rar", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract("first.bin", "pass");
archive.Entries[1].Extract("second.bin", "pass");
}
}
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 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.
Le fichier à path
contient un deux-points (:) au milieu de la chaîne.
Le fichier est introuvable.
Le chemin spécifié est invalide, comme étant sur un lecteur non mappé.
Le fichier est déjà ouvert.
Les données sont corrompues. -ou- La vérification CRC ou MAC a échoué pour l’entrée.
Extract(Stream, string)
Extrait l’entrée vers le flux fourni.
public void Extract(Stream destination, string password = null)
Paramètres
destination
Stream
Flux de destination. Doit être écrivable.
password
string
Mot de passe optionnel pour le déchiffrement.
Exemples
Extraire une entrée de l'archive rar avec mot de passe.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Exceptions
La vérification CRC ou MAC a échoué pour l’entrée.
destination
ne prend pas en charge l’écriture.
Les données sont corrompues. -ou- La vérification CRC ou MAC a échoué pour l’entrée.
Open(string)
Ouvre l’entrée pour extraction et fournit un flux avec le contenu décompressé de l’entrée.
public Stream Open(string password = null)
Paramètres
password
string
Mot de passe optionnel pour le déchiffrement. Il peut également être défini dans Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.
Retourne
Le flux qui représente le contenu de l’entrée.
Exemples
Utilisation :
Stream decompressed = entry.Open();
.NET 4.0 et supérieur - utilisez la méthode Stream.CopyTo :
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 et avant - copiez les octets manuellement :
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Remarques
<p>Lisez à partir du flux pour obtenir le contenu original du fichier. Voir la section des exemples.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
Se déclenche lorsqu'une portion de flux brut est extraite.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
Type d’événement
EventHandler<ProgressEventArgs>
Exemples
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
Remarques
L’expéditeur de l’événement est une instance de Aspose.Zip.Rar.RarArchiveEntry.