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
Abgeleitet
ArchiveEntryEncrypted, ArchiveEntryPlain
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.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>
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
CompressedSize
Erhält die Größe der komprimierten Datei.
public ulong CompressedSize { get; }
Eigenschaftswert
CompressionSettings
Erhält die Einstellungen für die Komprimierung oder Dekomprimierung.
public CompressionSettings CompressionSettings { get; }
Eigenschaftswert
DataSource
Quelle für den Eintrag, wenn der Eintrag zum Archiv hinzugefügt wurde, nicht extrahiert.
public Stream DataSource { get; }
Eigenschaftswert
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
IsDirectory
Erhält einen Wert, der angibt, ob der Eintrag ein Verzeichnis darstellt.
public bool IsDirectory { get; }
Eigenschaftswert
ModificationTime
Erhält oder setzt das Datum und die Uhrzeit der letzten Änderung.
public DateTime ModificationTime { get; set; }
Eigenschaftswert
Name
Erhält den Namen des Eintrags innerhalb des Archivs.
public string Name { get; protected set; }
Eigenschaftswert
UncompressedSize
Erhält die Größe der ursprünglichen Datei.
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.
Rückgaben
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
path
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum 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 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.
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. weil 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 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
Die Daten sind beschädigt. -oder- CRC- oder MAC-Überprüfung für den Eintrag fehlgeschlagen.
Die Quelle ist beschädigt oder nicht lesbar.
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
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
<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>
Beispiele
archive.Entries[0].CompressionProgressed += (s, e) => { 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>
Beispiele
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Bemerkungen
Der Ereignissender ist eine Instanz von Aspose.Zip.ArchiveEntry.