ZipArchive.CreateAsync 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.
Initialisiert und gibt eine neue Instanz des ZipArchive angegebenen Datenstroms im angegebenen Modus zurück und gibt an, ob der Datenstrom geöffnet bleiben soll, mit einer optionalen Codierung und einem optionalen Abbruchtoken.
public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> CreateAsync(System.IO.Stream stream, System.IO.Compression.ZipArchiveMode mode, bool leaveOpen, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateAsync : System.IO.Stream * System.IO.Compression.ZipArchiveMode * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function CreateAsync (stream As Stream, mode As ZipArchiveMode, leaveOpen As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)
Parameter
- stream
- Stream
Der Eingabe- oder Ausgabedatenstrom.
- mode
- ZipArchiveMode
Einer der Enumerationswerte, der angibt, ob der Datenstrom Lese-, Schreib- und Suchvorgänge unterstützt.
- leaveOpen
- Boolean
true den Datenstrom beim Entsorgen der ZipArchive offen zu lassen, andernfalls false.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen und Kommentaren in dieser ZipArchive verwendet werden soll.
- cancellationToken
- CancellationToken
Das optionale Abbruchtoken, das überwacht werden soll.
Gibt zurück
Ausnahmen
Der Datenstrom ist bereits geschlossen.
-oder-
mode ist nicht mit den Funktionen des Datenstroms kompatibel.
Der Datenstrom ist null.
mode einen ungültigen Wert angegeben.
Der Inhalt des Datenstroms konnte nicht als ZIP-Datei interpretiert werden.
-oder-
mode ist aktualisiert, und ein Eintrag fehlt im Archiv oder ist beschädigt und kann nicht gelesen werden.
-oder-
mode ist aktualisiert, und ein Eintrag ist zu groß, um in den Arbeitsspeicher zu passen.
Eine andere Unicode-Codierung als UTF-8 wurde für entryNameEncodingangegeben.
Hinweise
Es wird davon abgeraten, einen anderen Wert als entryNameEncoding einen anderen Wert null anzugeben. Dies kann jedoch für die Interoperabilität mit ZIP-Archivtools und -Bibliotheken erforderlich sein, die utf-8-Codierung für Eintragsnamen 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