ZipArchive.CreateAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Asynchronně inicializuje a vrátí novou instanci daného datového ZipArchive proudu v zadaném režimu a určuje, zda se má datový proud ponechat otevřený, s volitelným kódováním a volitelným tokenem zrušení.
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)
Parametry
- stream
- Stream
Vstupní nebo výstupní datový proud.
- mode
- ZipArchiveMode
Jedna z hodnot výčtu, která určuje, zda datový proud podporuje čtení, zápis a hledání.
- leaveOpen
- Boolean
true nechat proud otevřený po zveřejnění ZipArchive, jinak false.
- entryNameEncoding
- Encoding
Kódování, které se má použít při čtení nebo zápisu názvů položek a komentářů v této zipArchive.
- cancellationToken
- CancellationToken
Volitelný token zrušení, který se má monitorovat.
Návraty
Výjimky
Stream je null.
mode zadal neplatnou hodnotu.
Obsah datového proudu nelze interpretovat jako soubor ZIP.
nebo
mode je Aktualizovat a položka chybí v archivu nebo je poškozena a nelze ji přečíst.
nebo
mode je Aktualizovat a položka je příliš velká, aby se vešla do paměti.
Pro kódování Unicode bylo zadáno jiné kódování než UTF-8 .entryNameEncoding
Poznámky
Zadání hodnoty pro entryNameEncoding jinou hodnotu, než null je zakázáno. To však může být nezbytné pro interoperabilitu s archivními nástroji a knihovnami ZIP, které správně nepodporují kódování UTF-8 pro názvy položek.
Tato hodnota se používá takto:
- Pokud
entryNameEncodingnení zadán (== null):- Pro položky, ve kterých není nastaven příznak kódování jazyka (EFS) v příznaku bitu pro obecné účely hlavičky místního souboru, použijte aktuální výchozí znakovou stránku systému (
Encoding.Default) k dekódování názvu položky a komentáře. - Pro položky, kde je nastaven příznak kódování jazyka (EFS) v příznaku pro obecné účely hlavičky místního souboru, použijte UTF-8 (
Encoding.UTF8) k dekódování názvu položky a komentáře.
- Pro položky, ve kterých není nastaven příznak kódování jazyka (EFS) v příznaku bitu pro obecné účely hlavičky místního souboru, použijte aktuální výchozí znakovou stránku systému (
- Pokud
entryNameEncodingje zadán (!= null):- Pro položky, ve kterých není nastaven příznak kódování jazyka (EFS) v příznaku bitu pro obecné účely hlavičky místního souboru, použijte určený
entryNameEncodingk dekódování názvu položky a komentáře. - Pro položky, kde je nastaven příznak kódování jazyka (EFS) v příznaku pro obecné účely hlavičky místního souboru, použijte UTF-8 (
Encoding.UTF8) k dekódování názvu položky a komentáře.
- Pro položky, ve kterých není nastaven příznak kódování jazyka (EFS) v příznaku bitu pro obecné účely hlavičky místního souboru, použijte určený
- Pokud
entryNameEncodingnení zadán (== null):- Pro názvy položek a komentáře, které obsahují znaky mimo rozsah ASCII, se příznak kódování jazyka (EFS) nastaví v příznaku bitu pro obecné účely v hlavičce místního souboru a UTF-8 (
Encoding.UTF8) se použije ke kódování názvu položky a komentáře do bajtů. - U názvů položek a komentářů, které neobsahují znaky mimo rozsah ASCII, se příznak kódování jazyka (EFS) nenastaví v příznaku bitu pro obecné účely záhlaví místního souboru a aktuální výchozí znaková stránka systému (
Encoding.Default) se použije ke kódování názvů položek a komentářů do bajtů.
- Pro názvy položek a komentáře, které obsahují znaky mimo rozsah ASCII, se příznak kódování jazyka (EFS) nastaví v příznaku bitu pro obecné účely v hlavičce místního souboru a UTF-8 (
- Pokud
entryNameEncodingje zadán (!= null):- Zadaná
entryNameEncodinghodnota bude vždy použita ke kódování názvů položek a komentářů do bajtů. - Příznak kódování jazyka (EFS) v příznaku bitu pro obecné účely hlavičky místního souboru bude nastaven, pouze pokud je zadaný
entryNameEncodingkód UTF-8.
- Zadaná