Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)

Stellt eine einzelne Datei innerhalb eines 7z-Archivs dar.

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

Vererbung

objectSevenZipArchiveEntry

Abgeleitet

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

Implementiert

IArchiveFileEntry

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.SevenZip.SevenZipArchiveEntry in Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted um, um festzustellen, ob der Eintrag verschlüsselt ist oder nicht.

Konstruktoren

SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)

Initialisiert eine neue Instanz der Klasse Aspose.Zip.SevenZip.SevenZipArchiveEntry.

protected SevenZipArchiveEntry(SevenZipArchive parent, string name, SevenZipCompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)

Parameter

parent SevenZipArchive

name string

Name des Eintrags.

compressionSettings SevenZipCompressionSettings

Einstellungen für die Kompression oder Dekompression.

source Stream

Stream mit Eintragsdaten, die komprimiert oder dekomprimiert werden sollen.

fileAttributes FileAttributes

Attribute aus dem Dateisystem.

fileInfo FileSystemInfo

Datei- oder Verzeichnisinformationen, auf denen der Eintrag basiert.

Ausnahmen

ArgumentException

Der name ist null oder leer.

Eigenschaften

CompressedSize

Erhält die Größe der komprimierten Datei.

public ulong CompressedSize { get; }

Eigenschaftenwert

ulong

CompressionSettings

Erhält die Einstellungen für die Kompression oder Dekompression.

public SevenZipCompressionSettings CompressionSettings { get; }

Eigenschaftenwert

SevenZipCompressionSettings

FileAttributes

Erhält die Dateiattribute aus dem Hostsystem.

protected FileAttributes FileAttributes { get; }

Eigenschaftenwert

FileAttributes

IsDirectory

Erhält einen Wert, der angibt, ob der Eintrag ein Verzeichnis darstellt.

public bool IsDirectory { get; }

Eigenschaftenwert

bool

ModificationTime

Erhält das Datum und die Uhrzeit der letzten Änderung.

public DateTime ModificationTime { get; }

Eigenschaftenwert

DateTime

Name

Erhält den Namen des Eintrags innerhalb des Archivs.

public string Name { get; protected set; }

Eigenschaftenwert

string

Source

Erhält den Datenquellenstream für den Eintrag.

protected Stream Source { get; set; }

Eigenschaftenwert

Stream

UncompressedSize

Erhält die Größe der Originaldatei.

public ulong UncompressedSize { get; }

Eigenschaftenwert

ulong

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

FileInfo

Die Dateiinfo der zusammengesetzten Datei.

Beispiele

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract("data.bin");
}

Ausnahmen

ArgumentNullException

path ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.

ArgumentException

Der path ist leer, enthält nur Leerzeichen oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path ist verweigert.

PathTooLongException

Der angegebene path, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Beispielsweise müssen Pfade auf Windows-basierten Plattformen weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei unter path enthält einen Doppelpunkt (:) in der Mitte des Strings.

InvalidDataException

Das Archiv ist beschädigt.

Extract(Stream, string)

Extrahiert den Eintrag in den bereitgestellten 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 Zip-Archiv mit Passwort.

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract(httpResponseStream);
}

Ausnahmen

ArgumentException

destination unterstützt kein Schreiben.

InvalidOperationException

Das Archiv ist nicht zum Extrahieren geöffnet. - oder - Dieser Eintrag ist ein Verzeichnis.

InvalidDataException

Falsche Daten im Eintrag.

FinalizeCompressedData(Stream, byte[])

Schreibt in den Ausgabestream alle Header, die auf die komprimierten Daten folgen.

protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)

Parameter

outputStream Stream

Ausgabestream für den Eintrag.

encoderProperties byte[]

Eigenschaften des Kompressors.

Gibt zurück

int

Anzahl der “technischen” Bytes, die nach dem signifikanten Datenblock des Eintrags hinzugefügt wurden.

GetDestinationStream(Stream)

Zielstream für den Eintrag, kann dekoriert sein.

protected abstract Stream GetDestinationStream(Stream outputStream)

Parameter

outputStream Stream

Ausgabestream für den Eintrag.

Gibt zurück

Stream

Der Zielstream für die Kompression des Eintrags.

Open(string)

Öffnet den Eintrag zur Extraktion und bietet einen Stream mit dem Inhalt des Eintrags.

public Stream Open(string password = null)

Parameter

password string

Optionales Passwort zur Entschlüsselung.

Gibt zurück

Stream

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 - Bytes manuell kopieren:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Bemerkungen

Lesen Sie vom Stream, um den ursprünglichen Inhalt der Datei zu erhalten. Siehe Abschnitt Beispiele.

#### Ausnahmen

 [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)

Das Archiv ist nicht zum Extrahieren geöffnet. - oder - Dieser Eintrag ist ein Verzeichnis.

 [InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)

Falsche Daten im Eintrag.

### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_CompressionProgressed"></a> CompressionProgressed

Wird ausgelöst, wenn ein Teil des Rohstreams komprimiert wurde.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Ereignistyp

EventHandler<ProgressEventArgs&gt;

Beispiele

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };

Bemerkungen

Der Ereignisauslöser ist eine Instanz von Aspose.Zip.SevenZip.SevenZipArchiveEntry.

Wird im Multithread-Modus für LZMA2-Einträge nicht ausgelöst.

 Deutsch