ZipFile.ExtractToDirectoryAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Extrahiert asynchron alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem.
Überlädt
| Name | Beschreibung |
|---|---|
| ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken) |
Extrahiert asynchron alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem. Das angegebene Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt. Wenn beim Extrahieren des Archivs ein Fehler auftritt, bleibt das Archiv teilweise extrahiert. Jeder Eintrag wird extrahiert, sodass die extrahierte Datei denselben relativen Pfad zum destinationDirectoryName hat wie der Eintrag zum Archiv. Der Pfad darf relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste datumstime im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet. |
| ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken) |
Extrahiert asynchron alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem, verwendet die angegebene Zeichencodierung für Eintragsnamen und ermöglicht optional die Auswahl, ob die Dateien im Zielverzeichnis überschrieben werden sollen. |
| ExtractToDirectoryAsync(String, String, Encoding, CancellationToken) |
Extrahiert asynchron alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem. |
| ExtractToDirectoryAsync(String, String, ZipExtractionOptions, CancellationToken) | |
| ExtractToDirectoryAsync(String, String, Boolean, CancellationToken) |
Extrahiert asynchron alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem. |
| ExtractToDirectoryAsync(Stream, String, ZipExtractionOptions, CancellationToken) | |
| ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken) |
Extrahiert asynchron alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem und ermöglicht optional die Auswahl, ob die Dateien im Zielverzeichnis überschrieben werden sollen. |
| ExtractToDirectoryAsync(String, String, CancellationToken) |
Extrahiert asynchron alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem. |
| ExtractToDirectoryAsync(Stream, String, CancellationToken) |
Extrahiert asynchron alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem. |
| ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken) |
Extrahiert asynchron alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem und verwendet die angegebene Zeichencodierung für Eintragsnamen. |
ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken)
- Quelle:
- ZipFile.Extract.Async.cs
- Quelle:
- ZipFile.Extract.Async.cs
Extrahiert asynchron alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem.
Das angegebene Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
Wenn beim Extrahieren des Archivs ein Fehler auftritt, bleibt das Archiv teilweise extrahiert. Jeder Eintrag wird extrahiert, sodass die extrahierte Datei denselben relativen Pfad zum destinationDirectoryName hat wie der Eintrag zum Archiv. Der Pfad darf relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste datumstime im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceArchiveFileName
- String
Der Pfad zum Archiv im Dateisystem, das extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen und Kommentaren in dieser ZipArchive verwendet werden soll.
- overwriteFiles
- Boolean
true um Dateien zu überschreiben; false Andernfalls.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceArchiveFileName oder destinationDirectoryName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
sourceArchiveFileName oder destinationDirectoryName ist null.
sourceArchiveFileName oder destinationDirectoryName gibt einen Pfad, Dateinamen oder beides an, der die vom System definierte maximale Länge überschreitet. Auf Windows-basierten Plattformen müssen Pfade beispielsweise kleiner als 248 Zeichen sein, und Dateinamen müssen kleiner als 260 Zeichen sein.
Der durch sourceArchiveFileName oder destinationDirectoryName ist ungültige Pfad (z. B. auf einem nicht zugeordneten Laufwerk).
Ein E/A-Fehler ist aufgetreten.
-oder-
Der Name eines Archiveintrags ist null lang, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
-oder-
Das Extrahieren eines Archiveintrags würde zu einem Dateiziel führen, das sich außerhalb des Zielverzeichnisses befindet (z. B. wegen übergeordneter Verzeichniszugriffer).
-oder-
Ein Archiveintrag hat denselben Namen wie ein bereits extrahierter Eintrag aus demselben Archiv.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
sourceArchiveFileName oder destinationDirectoryName weist ein ungültiges Format auf.
sourceArchiveFileName wurde nicht gefunden.
Das angegebene sourceArchiveFileName Archiv ist kein gültiges ZipArchive.
-oder-
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
-oder-
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Wenn entryNameEncoding dieser Wert auf einen anderen Wert festgelegt ist, nullwerden Eintragsnamen und Kommentare gemäß den folgenden Regeln decodiert:
- Verwenden Sie für Einträge, bei denen das Sprachcodierungskennzeichnungs-Flag (EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders nicht festgelegt ist, den angegebenen
entryNameEncodingCode, um den Eintragsnamen und den Kommentar zu decodieren. - Verwenden Sie für Einträge, bei denen die Sprachcodierungskennzeichnung (LANGUAGE Encoding Flag, EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders festgelegt ist, UTF-8 (
Encoding.UTF8) zum Decodieren des Eintragsnamens und des Kommentars.
Ist entryNameEncoding diese Eigenschaft auf null", werden Eintragsnamen und Kommentare gemäß den folgenden Regeln decodiert:
- Verwenden Sie für Einträge, bei denen das Sprachcodierungskennzeichnungs-Flag (EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders nicht festgelegt ist, die aktuelle Standardcodeseite (
Encoding.Default) des Systems, um den Eintragsnamen und den Kommentar zu decodieren. - Verwenden Sie für Einträge, bei denen die Sprachcodierungskennzeichnung (LANGUAGE Encoding Flag, EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders festgelegt ist, UTF-8 (
Encoding.UTF8) zum Decodieren des Eintragsnamens und des Kommentars.
Andere Unicode-Codierungen als UTF-8 können nicht verwendet entryNameEncodingwerden, andernfalls wird ein ArgumentException Fehler ausgelöst.
Gilt für:
ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken)
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Extract.Async.cs
Extrahiert asynchron alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem, verwendet die angegebene Zeichencodierung für Eintragsnamen und ermöglicht optional die Auswahl, ob die Dateien im Zielverzeichnis überschrieben werden sollen.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- source
- Stream
Der Datenstrom, aus dem das ZIP-Archiv extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen und Kommentaren in diesem Archiv verwendet werden soll. Geben Sie einen Wert für diesen Parameter nur an, wenn eine Codierung für die Interoperabilität mit ZIP-Archivtools und -bibliotheken erforderlich ist, die utf-8-Codierung für Eintragsnamen oder Kommentare nicht unterstützen.
- overwriteFiles
- Boolean
true um Dateien zu überschreiben; false Andernfalls.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
destinationDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
-oder-
entryNameEncoding ist auf eine andere Unicode-Codierung als UTF-8 festgelegt.
destinationDirectoryName oder source ist null.
Der angegebene Pfad destinationDirectoryName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
-oder-
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
-oder-
overwriteFiles ist false und ein Archiveintrag zum Extrahieren denselben Namen wie ein Bereits extrahierter Eintrag hat oder in destinationDirectoryNamedem vorhanden ist.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName enthält ein ungültiges Format.
Das im source Datenstrom enthaltene Archiv ist kein gültiges ZIP-Archiv.
-oder-
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
-oder-
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den destinationDirectoryName Dateien im ZIP-Archiv, die in den source Parametern enthalten sind, werden vor der Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Gilt für:
ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)
- Quelle:
- ZipFile.Extract.Async.cs
- Quelle:
- ZipFile.Extract.Async.cs
Extrahiert asynchron alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceArchiveFileName
- String
Der Pfad zum Archiv im Dateisystem, das extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis im Dateisystem. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen und Kommentaren in dieser ZipArchive verwendet werden soll.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceArchiveFileName oder destinationDirectoryName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
sourceArchiveFileName oder destinationDirectoryName ist null.
sourceArchiveFileName oder destinationDirectoryName gibt einen Pfad, Dateinamen oder beides an, der die vom System definierte maximale Länge überschreitet. Auf Windows-basierten Plattformen müssen Pfade beispielsweise kleiner als 248 Zeichen sein, und Dateinamen müssen kleiner als 260 Zeichen sein.
Der durch sourceArchiveFileName oder destinationDirectoryName ist ungültige Pfad (z. B. auf einem nicht zugeordneten Laufwerk).
Ein E/A-Fehler ist aufgetreten.
-oder-
Der Name eines Archiveintrags ist null lang, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
-oder-
Das Extrahieren eines Archiveintrags würde zu einem Dateiziel führen, das sich außerhalb des Zielverzeichnisses befindet (z. B. wegen übergeordneter Verzeichniszugriffer).
-oder-
Ein Archiveintrag hat denselben Namen wie ein bereits extrahierter Eintrag aus demselben Archiv.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
sourceArchiveFileName oder destinationDirectoryName weist ein ungültiges Format auf.
sourceArchiveFileName wurde nicht gefunden.
Das angegebene sourceArchiveFileName Archiv ist kein gültiges ZipArchive.
-oder-
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
-oder-
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Wenn beim Extrahieren des Archivs ein Fehler auftritt, bleibt das Archiv teilweise extrahiert. Jeder Eintrag wird extrahiert, sodass die extrahierte Datei den gleichen relativen Pfad zum destinationDirectoryName Archiv hat wie der Eintrag. Der Pfad akzeptiert relative oder absolute Pfadinformationen; Relative Pfade werden relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Wenn entryNameEncoding dieser Wert auf einen anderen Wert festgelegt ist, nullwerden Eintragsnamen und Kommentare gemäß den folgenden Regeln decodiert:
- Verwenden Sie für Einträge, bei denen das Sprachcodierungskennzeichnungs-Flag (EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders nicht festgelegt ist, den angegebenen
entryNameEncodingCode, um den Eintragsnamen und den Kommentar zu decodieren. - Verwenden Sie für Einträge, bei denen die Sprachcodierungskennzeichnung (LANGUAGE Encoding Flag, EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders festgelegt ist, UTF-8 (
Encoding.UTF8) zum Decodieren des Eintragsnamens und des Kommentars.
Ist entryNameEncoding diese Eigenschaft auf null", werden Eintragsnamen und Kommentare gemäß den folgenden Regeln decodiert:
- Verwenden Sie für Einträge, bei denen das Sprachcodierungskennzeichnungs-Flag (EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders nicht festgelegt ist, die aktuelle Standardcodeseite (
Encoding.Default) des Systems, um den Eintragsnamen und den Kommentar zu decodieren. - Verwenden Sie für Einträge, bei denen die Sprachcodierungskennzeichnung (LANGUAGE Encoding Flag, EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders festgelegt ist, UTF-8 (
Encoding.UTF8) zum Decodieren des Eintragsnamens und des Kommentars.
Andere Unicode-Codierungen als UTF-8 können nicht verwendet entryNameEncodingwerden, andernfalls wird ein ArgumentException Fehler ausgelöst.
Gilt für:
ExtractToDirectoryAsync(String, String, ZipExtractionOptions, CancellationToken)
- Quelle:
- ZipFile.Extract.Async.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.IO.Compression.ZipExtractionOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, options As ZipExtractionOptions, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceArchiveFileName
- String
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- options
- ZipExtractionOptions
- cancellationToken
- CancellationToken
Gibt zurück
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Jede extrahierte Datei hat denselben relativen Pfad destinationDirectoryName wie der Quelleintrag zum Stammverzeichnis des Archivs.
Die sourceArchiveFileName Parameter destinationDirectoryName akzeptieren relative und absolute Pfade. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Wenn während der Extraktion ein Fehler auftritt, bleibt das Archiv teilweise extrahiert.
Legen Sie fest OverwriteFiles , true dass vorhandene Dateien überschrieben werden sollen. Der Standardwert ist false, wodurch die Extraktion ausgelöst IOException wird, wenn bereits eine Datei extrahiert wird.
Wird verwendet Password , um das Kennwort für verschlüsselte Einträge anzugeben.
Dient EntryNameEncoding zum Angeben der Codierung für Eintragsnamen und Kommentare beim Öffnen des Archivs. Ausführliche Informationen zur Verwendung dieser Codierung finden Sie unter ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding).
Symbolische Verknüpfungen im Archiv werden nicht als symbolische Verknüpfungen neu erstellt. Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt und extrahiert in den endgültigen Zielordner geschrieben.
Ausnahmen, die während der asynchronen Extraktion auftreten, werden in der zurückgegebenen Aufgabe gespeichert und ausgelöst, wenn die Aufgabe erwartet wird.
Gilt für:
ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)
- Quelle:
- ZipFile.Extract.Async.cs
- Quelle:
- ZipFile.Extract.Async.cs
Extrahiert asynchron alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceArchiveFileName
- String
Der Pfad zum Archiv im Dateisystem, das extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- overwriteFiles
- Boolean
true um Dateien zu überschreiben; false Andernfalls.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceArchiveFileName oder destinationDirectoryName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
sourceArchiveFileName oder destinationDirectoryName ist null.
sourceArchiveFileName oder destinationDirectoryName gibt einen Pfad, Dateinamen oder beides an, der die vom System definierte maximale Länge überschreitet. Auf Windows-basierten Plattformen müssen Pfade beispielsweise kleiner als 248 Zeichen sein, und Dateinamen müssen kleiner als 260 Zeichen sein.
Der durch sourceArchiveFileName oder destinationDirectoryName ist ungültige Pfad (z. B. auf einem nicht zugeordneten Laufwerk).
Ein E/A-Fehler ist aufgetreten.
-oder-
Der Name eines Archiveintrags ist null lang, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
-oder-
Das Extrahieren eines Archiveintrags würde zu einem Dateiziel führen, das sich außerhalb des Zielverzeichnisses befindet (z. B. wegen übergeordneter Verzeichniszugriffer).
-oder-
Ein Archiveintrag hat denselben Namen wie ein bereits extrahierter Eintrag aus demselben Archiv.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
sourceArchiveFileName oder destinationDirectoryName weist ein ungültiges Format auf.
sourceArchiveFileName wurde nicht gefunden.
sourceArchiveFileName kein gültiges ZipArchive.
-oder-
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
-oder-
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Wenn beim Extrahieren des Archivs ein Fehler auftritt, bleibt das Archiv teilweise extrahiert. Jeder Eintrag wird extrahiert, sodass die extrahierte Datei den gleichen relativen Pfad zum destinationDirectoryName Archiv hat wie der Eintrag. Der Pfad akzeptiert relative oder absolute Pfadinformationen; Relative Pfade werden relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Gilt für:
ExtractToDirectoryAsync(Stream, String, ZipExtractionOptions, CancellationToken)
- Quelle:
- ZipFile.Extract.Async.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.IO.Compression.ZipExtractionOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, options As ZipExtractionOptions, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- source
- Stream
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- options
- ZipExtractionOptions
- cancellationToken
- CancellationToken
Gibt zurück
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Jede extrahierte Datei hat denselben relativen Pfad destinationDirectoryName wie der Quelleintrag zum Stammverzeichnis des Archivs.
Der destinationDirectoryName Parameter akzeptiert relative und absolute Pfade. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Wenn während der Extraktion ein Fehler auftritt, bleibt das Archiv teilweise extrahiert.
Legen Sie fest OverwriteFiles , true dass vorhandene Dateien überschrieben werden sollen. Der Standardwert ist false, wodurch die Extraktion ausgelöst IOException wird, wenn bereits eine Datei extrahiert wird.
Wird verwendet Password , um das Kennwort für verschlüsselte Einträge anzugeben.
Dient EntryNameEncoding zum Angeben der Codierung für Eintragsnamen und Kommentare beim Öffnen des Archivs. Ausführliche Informationen zur Verwendung dieser Codierung finden Sie unter ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding).
Symbolische Verknüpfungen im Archiv werden nicht als symbolische Verknüpfungen neu erstellt. Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt und extrahiert in den endgültigen Zielordner geschrieben.
Der source Datenstrom bleibt nach der Extraktion geöffnet.
Ausnahmen, die während der asynchronen Extraktion auftreten, werden in der zurückgegebenen Aufgabe gespeichert und ausgelöst, wenn die Aufgabe erwartet wird.
Gilt für:
ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)
- Quelle:
- ZipFile.Extract.Async.cs
- Quelle:
- ZipFile.Extract.Async.cs
Extrahiert asynchron alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem und ermöglicht optional die Auswahl, ob die Dateien im Zielverzeichnis überschrieben werden sollen.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- source
- Stream
Der Datenstrom, aus dem das ZIP-Archiv extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- overwriteFiles
- Boolean
true um Dateien zu überschreiben; false Andernfalls.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
destinationDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
destinationDirectoryName oder source ist null.
Der angegebene Pfad destinationDirectoryName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
-oder-
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
-oder-
overwriteFiles ist false und ein Archiveintrag zum Extrahieren denselben Namen wie ein Bereits extrahierter Eintrag hat oder in destinationDirectoryNamedem vorhanden ist.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName enthält ein ungültiges Format.
Das im source Datenstrom enthaltene Archiv ist kein gültiges ZIP-Archiv.
-oder-
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
-oder-
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den destinationDirectoryName Dateien im ZIP-Archiv, die in den source Parametern enthalten sind, werden vor der Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Gilt für:
ExtractToDirectoryAsync(String, String, CancellationToken)
- Quelle:
- ZipFile.Extract.Async.cs
- Quelle:
- ZipFile.Extract.Async.cs
Extrahiert asynchron alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceArchiveFileName
- String
Der Pfad zum Archiv im Dateisystem, das extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceArchiveFileName oder destinationDirectoryName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
sourceArchiveFileName oder destinationDirectoryName ist null.
sourceArchiveFileName oder destinationDirectoryName gibt einen Pfad, Dateinamen oder beides an, der die vom System definierte maximale Länge überschreitet. Auf Windows-basierten Plattformen müssen Pfade beispielsweise kleiner als 248 Zeichen sein, und Dateinamen müssen kleiner als 260 Zeichen sein.
Der durch sourceArchiveFileName oder destinationDirectoryName ist ungültige Pfad (z. B. auf einem nicht zugeordneten Laufwerk).
Ein E/A-Fehler ist aufgetreten.
-oder-
Der Name eines Archiveintrags ist null lang, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
-oder-
Das Extrahieren eines Archiveintrags würde zu einem Dateiziel führen, das sich außerhalb des Zielverzeichnisses befindet (z. B. wegen übergeordneter Verzeichniszugriffer).
-oder-
Ein Archiveintrag hat denselben Namen wie ein bereits extrahierter Eintrag aus demselben Archiv.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
sourceArchiveFileName oder destinationDirectoryName weist ein ungültiges Format auf.
sourceArchiveFileName wurde nicht gefunden.
Das angegebene sourceArchiveFileName Archiv ist kein gültiges ZipArchive.
-oder-
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
-oder-
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Wenn beim Extrahieren des Archivs ein Fehler auftritt, bleibt das Archiv teilweise extrahiert. Jeder Eintrag wird extrahiert, sodass die extrahierte Datei den gleichen relativen Pfad zum destinationDirectoryName Archiv hat wie der Eintrag. Der Pfad akzeptiert relative oder absolute Pfadinformationen; Relative Pfade werden relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Gilt für:
ExtractToDirectoryAsync(Stream, String, CancellationToken)
- Quelle:
- ZipFile.Extract.Async.cs
- Quelle:
- ZipFile.Extract.Async.cs
Extrahiert asynchron alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- source
- Stream
Der Datenstrom, aus dem das ZIP-Archiv extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
destinationDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
destinationDirectoryName oder source ist null.
Der angegebene Pfad destinationDirectoryName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
-oder-
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
-oder-
Ein zu extrahierener Archiveintrag hat denselben Namen wie ein bereits extrahierter Oder vorhandener destinationDirectoryNameEintrag.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName enthält ein ungültiges Format.
Das im source Datenstrom enthaltene Archiv ist kein gültiges ZIP-Archiv.
-oder-
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
-oder-
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den destinationDirectoryName Dateien im ZIP-Archiv, die in den source Parametern enthalten sind, werden vor der Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Gilt für:
ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)
- Quelle:
- ZipFile.Extract.Async.cs
- Quelle:
- ZipFile.Extract.Async.cs
Extrahiert asynchron alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem und verwendet die angegebene Zeichencodierung für Eintragsnamen.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- source
- Stream
Der Datenstrom, aus dem das ZIP-Archiv extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen und Kommentaren in diesem Archiv verwendet werden soll. Geben Sie einen Wert für diesen Parameter nur an, wenn eine Codierung für die Interoperabilität mit ZIP-Archivtools und -bibliotheken erforderlich ist, die utf-8-Codierung für Eintragsnamen oder Kommentare nicht unterstützen.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
destinationDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
-oder-
entryNameEncoding ist auf eine andere Unicode-Codierung als UTF-8 festgelegt.
destinationDirectoryName oder source ist null.
Der angegebene Pfad destinationDirectoryName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
-oder-
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
-oder-
Ein zu extrahierener Archiveintrag hat denselben Namen wie ein bereits extrahierter Oder vorhandener destinationDirectoryNameEintrag.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName enthält ein ungültiges Format.
Das im source Datenstrom enthaltene Archiv ist kein gültiges ZIP-Archiv.
-oder-
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
-oder-
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Warning
Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.
Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.
Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den destinationDirectoryName Dateien im ZIP-Archiv, die in den source Parametern enthalten sind, werden vor der Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.