ZipArchive.CreateAsync Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar och returnerar asynkront en ny instans av ZipArchive på den angivna strömmen i det angivna läget och anger om strömmen ska vara öppen, med en valfri kodning och en valfri annulleringstoken.
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)
Parametrar
- stream
- Stream
Indata- eller utdataströmmen.
- mode
- ZipArchiveMode
Ett av uppräkningsvärdena som anger om strömmen stöder läsning, skrivning och sökning.
- leaveOpen
- Boolean
true för att lämna strömmen öppen när ZipArchive exponeras, annars false.
- entryNameEncoding
- Encoding
Kodningen som ska användas när du läser eller skriver postnamn och kommentarer i den här ZipArchive.
- cancellationToken
- CancellationToken
Den valfria annulleringstoken som ska övervakas.
Returer
Undantag
Strömmen är redan stängd.
-eller-
mode är inte kompatibelt med strömmens funktioner.
Strömmen är null.
mode angett ett ogiltigt värde.
Det gick inte att tolka innehållet i dataströmmen som en ZIP-fil.
-eller-
mode är Update och en post saknas i arkivet eller är skadad och kan inte läsas.
-eller-
mode är Update och en post är för stor för att passa in i minnet.
En annan Unicode-kodning än UTF-8 angavs för entryNameEncoding.
Kommentarer
Det rekommenderas inte att ange ett värde för entryNameEncoding annat än null . Detta kan dock vara nödvändigt för samverkan med ZIP-arkivverktyg och bibliotek som inte har rätt stöd för UTF-8-kodning för postnamn.
Det här värdet används på följande sätt:
- Om
entryNameEncodinginte har angetts (== null):- För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken inte har angetts använder du det aktuella systemets standardkodsida (
Encoding.Default) för att avkoda postnamnet och kommentaren. - För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken anges använder du UTF-8 (
Encoding.UTF8) för att avkoda postnamnet och kommentaren.
- För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken inte har angetts använder du det aktuella systemets standardkodsida (
- Om
entryNameEncodinganges (!= null):- För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken inte har angetts använder du angivet
entryNameEncodingför att avkoda postnamnet och kommentaren. - För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken anges använder du UTF-8 (
Encoding.UTF8) för att avkoda postnamnet och kommentaren.
- För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken inte har angetts använder du angivet
- Om
entryNameEncodinginte har angetts (== null):- För postnamn och kommentarer som innehåller tecken utanför ASCII-intervallet anges språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken och UTF-8 (
Encoding.UTF8) används för att koda postnamnet och kommentera till byte. - För postnamn och kommentarer som inte innehåller tecken utanför ASCII-intervallet anges inte språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken, och den aktuella systemstandardkodsidan (
Encoding.Default) används för att koda postnamnen och kommentarerna till byte.
- För postnamn och kommentarer som innehåller tecken utanför ASCII-intervallet anges språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken och UTF-8 (
- Om
entryNameEncodinganges (!= null):- Den angivna
entryNameEncodinganvänds alltid för att koda postnamnen och kommentarerna till byte. - Språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken anges om och endast om den angivna
entryNameEncodingär en UTF-8-kodning.
- Den angivna