ZipArchive.CreateAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したモードで指定されたストリームの ZipArchive の新しいインスタンスを非同期的に初期化して返します。ストリームを開いたままにするかどうかを指定します。オプションのエンコードと省略可能なキャンセル トークンを使用します。
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)
パラメーター
- stream
- Stream
入力ストリームまたは出力ストリーム。
- mode
- ZipArchiveMode
ストリームが読み取り、書き込み、シークをサポートするかどうかを指定する列挙値の 1 つ。
- leaveOpen
- Boolean
true ZipArchive を破棄したときにストリームを開いたままにする場合は。それ以外の場合は false。
- entryNameEncoding
- Encoding
この ZipArchive でエントリ名とコメントを読み書きするときに使用するエンコード。
- cancellationToken
- CancellationToken
監視するオプションのキャンセル トークン。
返品
例外
ストリームは null。
mode が無効な値を指定しました。
ストリームの内容を ZIP ファイルとして解釈できませんでした。
-又は-
mode は Update で、エントリがアーカイブに存在しないか、破損しているため、読み取ることができません。
-又は-
mode は Update で、エントリが大きすぎてメモリに収まりません。
entryNameEncodingに UTF-8 以外の Unicode エンコードが指定されました。
注釈
null以外のentryNameEncodingの値を指定することはお勧めしません。 ただし、エントリ名に対して UTF-8 エンコードが正しくサポートされていない ZIP アーカイブ ツールやライブラリとの相互運用性のために、これが必要になる場合があります。
この値は次のように使用されます。
-
entryNameEncodingが指定されていない場合 (== null):- ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定 されていない エントリの場合は、現在のシステムの既定のコード ページ (
Encoding.Default) を使用してエントリ名とコメントをデコードします。 - ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されている エントリの場合は、UTF-8 (
Encoding.UTF8) を使用してエントリ名とコメントをデコードします。
- ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定 されていない エントリの場合は、現在のシステムの既定のコード ページ (
-
entryNameEncodingが指定されている場合 (!= null):- ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定 されていない エントリの場合は、指定した
entryNameEncodingを使用してエントリ名とコメントをデコードします。 - ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されている エントリの場合は、UTF-8 (
Encoding.UTF8) を使用してエントリ名とコメントをデコードします。
- ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定 されていない エントリの場合は、指定した
-
entryNameEncodingが指定されていない場合 (== null):- ASCII 範囲外の文字を含むエントリ名とコメントの場合、ローカル ファイル ヘッダーの汎用ビット フラグに言語エンコード フラグ (EFS) が設定され、UTF-8 (
Encoding.UTF8) を使用してエントリ名とコメントがバイトにエンコードされます。 - ASCII 範囲外の文字を含まないエントリ名とコメントの場合、ローカル ファイル ヘッダーの汎用ビット フラグには言語エンコード フラグ (EFS) が設定されず、現在のシステムの既定のコード ページ (
Encoding.Default) を使用して、エントリ名とコメントがバイトにエンコードされます。
- ASCII 範囲外の文字を含むエントリ名とコメントの場合、ローカル ファイル ヘッダーの汎用ビット フラグに言語エンコード フラグ (EFS) が設定され、UTF-8 (
-
entryNameEncodingが指定されている場合 (!= null):- 指定した
entryNameEncodingは、エントリ名とコメントをバイトにエンコードするために常に使用されます。 - 指定した
entryNameEncodingが UTF-8 エンコードの場合にのみ、ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されます。
- 指定した