ZipFile.OpenAsync 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.
Überlädt
| Name | Beschreibung |
|---|---|
| OpenAsync(String, ZipArchiveMode, CancellationToken) |
Öffnet asynchron einen im |
| OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken) |
Öffnet asynchron einen im |
OpenAsync(String, ZipArchiveMode, CancellationToken)
- Quelle:
- ZipFile.Create.Async.cs
- Quelle:
- ZipFile.Create.Async.cs
Öffnet asynchron einen im ZipArchive angegebenen archiveFileName Modus angegebenen ZipArchiveMode Wert.
public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> OpenAsync(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Threading.CancellationToken cancellationToken = default);
static member OpenAsync : string * System.IO.Compression.ZipArchiveMode * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function OpenAsync (archiveFileName As String, mode As ZipArchiveMode, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)
Parameter
- archiveFileName
- String
Der Pfad im Dateisystem, in dem das Archiv geöffnet werden soll.
- mode
- ZipArchiveMode
Einer der Enumerationswerte, der die Aktionen angibt, die für die Einträge im geöffneten Archiv zulässig sind.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
archiveFileName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
archiveFileName ist null.
archiveFileName überschreitet die vom System definierte maximale Länge. Auf Windows-basierten Plattformen müssen Pfade beispielsweise kleiner als 248 Zeichen sein, und Dateinamen müssen kleiner als 260 Zeichen sein.
Der angegebene archiveFileName Wert ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Beim Öffnen der Datei ist ein nicht angegebener E/A-Fehler aufgetreten.
archiveFileName ein Verzeichnis angegeben.
-oder-
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
mode einen ungültigen Wert angegeben.
Die angegebene archiveFileName Datei wurde nicht gefunden.
archiveFileName ist in einem ungültigen Format vorhanden.
Die angegebene Datei konnte nicht als ZIP-Datei interpretiert werden.
-oder-
mode ist Update und ein Eintrag fehlt im Archiv oder ist beschädigt und kann nicht gelesen werden.
-oder-
mode ist Update und ein Eintrag zu groß ist, um in den Arbeitsspeicher zu passen.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Für archiveFileName:
Der Pfad darf relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Für mode:
Wenn Read angegeben, wird die Datei mit System.IO.FileMode.Open, und löst eine FileNotFoundException , wenn die Datei nicht vorhanden ist.
Wenn Create angegeben, wird die Datei mit System.IO.FileMode.CreateNew, geöffnet und löst eine System.IO.IOException , wenn die Datei bereits vorhanden ist.
Wenn Update angegeben, wird die Datei mit System.IO.FileMode.OpenOrCreate.
Wenn die Datei vorhanden ist und eine ZIP-Datei ist, werden ihre Einträge barrierefrei und können geändert werden, und neue Einträge können erstellt werden.
Wenn die Datei vorhanden ist und keine ZIP-Datei ist, wird ein InvalidDataException Fehler ausgelöst.
Wenn die Datei vorhanden ist und leer ist oder nicht vorhanden ist, wird eine neue ZIP-Datei erstellt.
Das Erstellen einer ZIP-Datei mit dem Create Modus ist beim Erstellen einer neuen ZIP-Datei effizienter.
Gilt für:
OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)
- Quelle:
- ZipFile.Create.Async.cs
- Quelle:
- ZipFile.Create.Async.cs
Öffnet asynchron einen im ZipArchive angegebenen archiveFileName Modus angegebenen ZipArchiveMode Wert.
public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> OpenAsync(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member OpenAsync : string * System.IO.Compression.ZipArchiveMode * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function OpenAsync (archiveFileName As String, mode As ZipArchiveMode, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)
Parameter
- archiveFileName
- String
Der Pfad im Dateisystem, in dem das Archiv geöffnet werden soll.
- mode
- ZipArchiveMode
Einer der Enumerationswerte, der die Aktionen angibt, die für die Einträge im geöffneten Archiv zulässig sind.
- 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
archiveFileName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie von InvalidPathChars definiert.
archiveFileName ist null.
archiveFileName überschreitet die vom System definierte maximale Länge. Auf Windows-basierten Plattformen müssen Pfade beispielsweise kleiner als 248 Zeichen sein, und Dateinamen müssen kleiner als 260 Zeichen sein.
archiveFileName ist ungültig( z. B. auf einem nicht zugeordneten Laufwerk).
Beim Öffnen der Datei ist ein nicht angegebener E/A-Fehler aufgetreten.
archiveFileName ein Verzeichnis angegeben.
-oder-
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
mode einen ungültigen Wert angegeben.
Die angegebene archiveFileName Datei wurde nicht gefunden.
archiveFileName ist in einem ungültigen Format vorhanden.
Die angegebene Datei konnte nicht als ZIP-Datei interpretiert werden.
-oder-
mode ist Update und ein Eintrag fehlt im Archiv oder ist beschädigt und kann nicht gelesen werden.
-oder-
mode ist Update und ein Eintrag zu groß ist, um in den Arbeitsspeicher zu passen.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Für archiveFileName:
Der Pfad darf relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Für mode:
Wenn Read angegeben, wird die Datei mit System.IO.FileMode.Open, und löst eine FileNotFoundException , wenn die Datei nicht vorhanden ist.
Wenn Create angegeben, wird die Datei mit System.IO.FileMode.CreateNew, geöffnet und löst eine System.IO.IOException , wenn die Datei bereits vorhanden ist.
Wenn Update angegeben, wird die Datei mit System.IO.FileMode.OpenOrCreate.
Wenn die Datei vorhanden ist und eine ZIP-Datei ist, werden ihre Einträge barrierefrei und können geändert werden, und neue Einträge können erstellt werden.
Wenn die Datei vorhanden ist und keine ZIP-Datei ist, wird ein InvalidDataException Fehler ausgelöst.
Wenn die Datei vorhanden ist und leer ist oder nicht vorhanden ist, wird eine neue ZIP-Datei erstellt.
Das Erstellen einer ZIP-Datei mit dem Create Modus ist beim Erstellen einer neuen ZIP-Datei effizienter.
Es wird davon abgeraten, einen anderen Wert als einen null anderen Wert anzugebenentryNameEncoding. Dies kann jedoch für die Interoperabilität mit ZIP-Archivtools und -bibliotheken erforderlich sein, die utf-8-Codierung für Eintragsnamen oder Kommentare nicht ordnungsgemäß unterstützen.
Dieser Wert wird wie folgt verwendet:
- Wenn
entryNameEncodingnicht angegeben (== null):- 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.
- 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 (
- Wenn
entryNameEncodingangegeben (!= null):- 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.
- Verwenden Sie für Einträge, bei denen das Sprachcodierungskennzeichnungs-Flag (EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders nicht festgelegt ist, den angegebenen
- Wenn
entryNameEncodingnicht angegeben (== null):- Für Eintragsnamen und Kommentare, die Zeichen außerhalb des ASCII-Bereichs enthalten, wird das Sprachcodierungsflagge (EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders festgelegt, und UTF-8 (
Encoding.UTF8) wird verwendet, um den Eintragsnamen und den Kommentar in Byte zu codieren. - Für Eintragsnamen und Kommentare, die keine Zeichen außerhalb des ASCII-Bereichs enthalten, wird das Sprachcodierungsflagge (EFS) nicht im allgemeinen Bit-Flag des lokalen Dateiheaders festgelegt, und die aktuelle Systemstandardcodeseite (
Encoding.Default) wird verwendet, um die Eintragsnamen und Kommentare in Byte zu codieren.
- Für Eintragsnamen und Kommentare, die Zeichen außerhalb des ASCII-Bereichs enthalten, wird das Sprachcodierungsflagge (EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders festgelegt, und UTF-8 (
- Wenn
entryNameEncodingangegeben (!= null):- Der angegebene
entryNameEncodingWert wird immer verwendet, um die Eintragsnamen und Kommentare in Byte zu codieren. - Die Sprachcodierungskennzeichnung (LANGUAGE Encoding Flag, EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders wird nur festgelegt, wenn die angegebene
entryNameEncodingCodierung eine UTF-8-Codierung ist.
- Der angegebene
Andere Unicode-Codierungen als UTF-8 können nicht für den entryNameEncoding, andernfalls wird ein ArgumentException Fehler ausgelöst.