Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Stellt eine einzelne Datei innerhalb des Archivs dar.
public abstract class RarArchiveEntry : IArchiveFileEntry
Vererbung
Abgeleitet
RarArchiveEntryEncrypted, RarArchiveEntryPlain
Implementiert
Vererbte Mitglieder
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Bemerkungen
Wandeln Sie eine Instanz von Aspose.Zip.Rar.RarArchiveEntry in Aspose.Zip.Rar.RarArchiveEntryEncrypted um, um festzustellen, ob der Eintrag verschlüsselt ist oder nicht.
Eigenschaften
CompressedSize
Erhält die Größe der komprimierten Datei.
public ulong CompressedSize { get; }
Eigenschaftswert
CreationTime
Erhält das Erstellungsdatum und die Uhrzeit.
public DateTime CreationTime { get; }
Eigenschaftswert
IsDirectory
Erhält einen Wert, der angibt, ob der Eintrag ein Verzeichnis darstellt.
public bool IsDirectory { get; }
Eigenschaftswert
LastAccessTime
Erhält das Datum und die Uhrzeit des letzten Zugriffs.
public DateTime LastAccessTime { get; }
Eigenschaftswert
ModificationTime
Erhält das Datum und die Uhrzeit der letzten Änderung.
public DateTime ModificationTime { get; }
Eigenschaftswert
Name
Erhält den Namen des Eintrags innerhalb des Archivs.
public string Name { get; }
Eigenschaftswert
Source
Erhält den Datenquellenstream für den Eintrag.
protected Stream Source { get; set; }
Eigenschaftswert
UncompressedSize
Erhält die Größe der Originaldatei.
public ulong UncompressedSize { get; }
Eigenschaftswert
Methoden
Extract(string, string)
Extrahiert den Eintrag in das Dateisystem anhand des angegebenen Pfades.
public FileInfo Extract(string path, string password = null)
Parameter
path
string
Der Pfad zur Zieldatei. Wenn die Datei bereits existiert, wird sie überschrieben.
password
string
Optionales Passwort zur Entschlüsselung.
Gibt zurück
Die Dateiinformationen der erstellten Datei.
Beispiele
Extrahieren Sie zwei Einträge aus dem RAR-Archiv.
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");
}
}
Ausnahmen
path
ist null.
Der Aufrufer hat nicht die erforderlichen Berechtigungen für den Zugriff.
Der path
ist leer, enthält nur Leerzeichen oder ungültige Zeichen.
Der Zugriff auf die Datei path
ist verweigert.
Der angegebene path
, Dateiname oder beides überschreiten die systemdefinierte maximale Länge. Zum Beispiel müssen unter Windows-basierten Plattformen die Pfade weniger als 248 Zeichen und die Dateinamen weniger als 260 Zeichen lang sein.
Die Datei unter path
enthält einen Doppelpunkt (:) in der Mitte der Zeichenfolge.
Die Datei wurde nicht gefunden.
Der angegebene Pfad ist ungültig, z. B. wenn er sich auf einem nicht zugeordneten Laufwerk befindet.
Die Datei ist bereits geöffnet.
Die Daten sind beschädigt. -oder- CRC- oder MAC-Überprüfung für den Eintrag fehlgeschlagen.
Extract(Stream, string)
Extrahiert den Eintrag in den angegebenen Stream.
public void Extract(Stream destination, string password = null)
Parameter
destination
Stream
Zielstream. Muss beschreibbar sein.
password
string
Optionales Passwort zur Entschlüsselung.
Beispiele
Extrahieren Sie einen Eintrag aus dem RAR-Archiv mit Passwort.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Ausnahmen
CRC- oder MAC-Überprüfung für den Eintrag fehlgeschlagen.
destination
unterstützt das Schreiben nicht.
Die Daten sind beschädigt. -oder- CRC- oder MAC-Überprüfung für den Eintrag fehlgeschlagen.
Open(string)
Öffnet den Eintrag zur Extraktion und stellt einen Stream mit dem dekomprimierten Inhalt des Eintrags bereit.
public Stream Open(string password = null)
Parameter
password
string
Optionales Passwort zur Entschlüsselung. Es kann auch innerhalb von Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword festgelegt werden.
Gibt zurück
Der Stream, der den Inhalt des Eintrags darstellt.
Beispiele
Verwendung:
Stream decompressed = entry.Open();
.NET 4.0 und höher - verwenden Sie die Methode Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 und früher - kopieren Sie die Bytes manuell:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Bemerkungen
<p>Lesen Sie aus dem Stream, um den ursprünglichen Inhalt der Datei zu erhalten. Siehe Abschnitt Beispiele.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
Wird ausgelöst, wenn ein Teil des Rohstreams extrahiert wird.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
Ereignistyp
EventHandler<ProgressEventArgs>
Beispiele
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
Bemerkungen
Der Ereignisauslöser ist eine Instanz von Aspose.Zip.Rar.RarArchiveEntry.