Class ArchiveEntry

Class ArchiveEntry

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

Stellt eine einzelne Datei innerhalb des Archivs dar.

public abstract class ArchiveEntry : IArchiveFileEntry

Vererbung

objectArchiveEntry

Abgeleitet

ArchiveEntryEncrypted, ArchiveEntryPlain

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

Konstruktoren

ArchiveEntry(string, CompressionSettings, Func<stream>, FileAttributes)

Initialisiert eine neue Instanz der Aspose.Zip.ArchiveEntry-Klasse.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, FileAttributes fileAttributes)

Parameter

name string

Name des Eintrags.

compressionSettings CompressionSettings

Einstellungen für die Komprimierung oder Dekomprimierung.

sourceProvider Func<Stream&gt;

Methode, die einen Stream mit Eintragsdaten zurückgibt, die komprimiert werden sollen.

fileAttributes FileAttributes

Attribute aus dem Dateisystem.

ArchiveEntry(string, CompressionSettings, Stream, FileAttributes, FileSystemInfo)

Initialisiert eine neue Instanz der Aspose.Zip.ArchiveEntry-Klasse.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)

Parameter

name string

Name des Eintrags.

compressionSettings CompressionSettings

Einstellungen für die Komprimierung oder Dekomprimierung.

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.

Eigenschaften

Kommentar

Erhält den Kommentar des Eintrags innerhalb des Archivs.

public string Comment { get; protected set; }

Eigenschaftswert

string

CompressedSize

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

public ulong CompressedSize { get; }

Eigenschaftswert

ulong

CompressionSettings

Erhält die Einstellungen für die Komprimierung oder Dekomprimierung.

public CompressionSettings CompressionSettings { get; }

Eigenschaftswert

CompressionSettings

DataSource

Quelle für den Eintrag, wenn der Eintrag zum Archiv hinzugefügt wurde, nicht extrahiert.

public Stream DataSource { get; }

Eigenschaftswert

Stream

Bemerkungen

Vor der Zuweisung ist die Quelle null. Diese Quelle kann in einigen Fällen innerhalb der Archive.Save-Methode zugewiesen werden.

FileAttributes

Erhält die Dateiattribute aus dem Hostsystem.

protected FileAttributes FileAttributes { get; }

Eigenschaftswert

FileAttributes

IsDirectory

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

public bool IsDirectory { get; }

Eigenschaftswert

bool

ModificationTime

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

public DateTime ModificationTime { get; set; }

Eigenschaftswert

DateTime

Name

Erhält den Namen des Eintrags innerhalb des Archivs.

public string Name { get; protected set; }

Eigenschaftswert

string

UncompressedSize

Erhält die Größe der ursprünglichen Datei.

public ulong UncompressedSize { get; }

Eigenschaftswert

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.

Rückgaben

FileInfo

Die Dateiinfo der zusammengesetzten Datei.

Beispiele

Extrahieren Sie zwei Einträge aus dem ZIP-Archiv, jeweils mit eigenem Passwort.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract("first.bin", "first_pass");
        archive.Entries[1].Extract("second.bin", "second_pass");
    }
}

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 ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path ist verweigert.

PathTooLongException

Der angegebene path, Dateiname oder beides überschreiten die maximal definierte Länge des Systems. Zum Beispiel müssen auf Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

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

FileNotFoundException

Die Datei wurde nicht gefunden.

DirectoryNotFoundException

Der angegebene Pfad ist ungültig, z.B. weil er sich auf einem nicht zugeordneten Laufwerk befindet.

IOException

Die Datei ist bereits geöffnet.

InvalidDataException

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 ZIP-Archiv mit Passwort.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract(httpResponseStream, "p@s$");
    }
}

Ausnahmen

InvalidDataException

Die Daten sind beschädigt. -oder- CRC- oder MAC-Überprüfung für den Eintrag fehlgeschlagen.

IOException

Die Quelle ist beschädigt oder nicht lesbar.

ArgumentException

destination unterstützt kein Schreiben.

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.

Rückgaben

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 &lt; (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>

#### Ausnahmen

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

Das Archiv befindet sich in einem falschen Zustand.

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

Tritt auf, wenn ein Teil des Rohstreams komprimiert wird.

```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 Ereignissender ist eine Instanz von Aspose.Zip.ArchiveEntry.

ExtractionProgressed

Tritt auf, wenn ein Teil des Rohstreams extrahiert wird.

public event EventHandler<progresseventargs> ExtractionProgressed

Ereignistyp

EventHandler<ProgressEventArgs&gt;

Beispiele

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };

Bemerkungen

Der Ereignissender ist eine Instanz von Aspose.Zip.ArchiveEntry.

 Deutsch