ZipFile.CreateFromDirectoryAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| CreateFromDirectoryAsync(String, Stream, CancellationToken) |
指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定したストリームに非同期で作成します。 |
| CreateFromDirectoryAsync(String, String, CancellationToken) |
|
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken) |
指定した圧縮レベルを使用し、必要に応じてベース ディレクトリを含め、指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定されたストリームに非同期で作成します。 |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken) |
|
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken) |
指定したディレクトリのファイルとディレクトリを含む zip アーカイブを、エントリ名に指定した圧縮レベルと文字エンコードを使用して非同期的に作成し、必要に応じてベース ディレクトリを含めます。 |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken) |
|
CreateFromDirectoryAsync(String, Stream, CancellationToken)
指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定したストリームに非同期で作成します。
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- sourceDirectoryName
- String
相対パスまたは絶対パスとして指定された、アーカイブするディレクトリへのパス。 相対パスは、現在の作業ディレクトリに対する相対パスとして解釈されます。
- destination
- Stream
zip アーカイブが格納されるストリーム。
- cancellationToken
- CancellationToken
キャンセル要求を監視するキャンセル トークン。
返品
例外
sourceDirectoryName が Empty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。
-又は-
destination ストリームは書き込みをサポートしていません。
sourceDirectoryName または destination が null。
sourceDirectoryNameでは、指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
sourceDirectoryName が無効であるか、存在しません (たとえば、マップされていないドライブ上にあります)。
sourceDirectoryName には無効な形式が含まれています。
非同期操作は取り消されます。
注釈
ファイル システムのディレクトリ構造はアーカイブに保持されます。 ディレクトリが空の場合は、空のアーカイブが作成されます。
このメソッドのオーバーロードには、アーカイブ内のベース ディレクトリは含まれていないので、圧縮レベルを指定することはできません。
ベース ディレクトリを含める場合、または圧縮レベルを指定する場合は、 CreateFromDirectory(String, Stream, CompressionLevel, Boolean) メソッドのオーバーロードを呼び出します。
ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは IOException 例外をスローします。
適用対象
CreateFromDirectoryAsync(String, String, CancellationToken)
sourceDirectoryNameで指定されたディレクトリのファイルとディレクトリを含むパス destinationArchiveFileNameに zip アーカイブを非同期的に作成します。
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- sourceDirectoryName
- String
アーカイブするファイル システム上のディレクトリへのパス。
- destinationArchiveFileName
- String
作成するアーカイブの名前。
- cancellationToken
- CancellationToken
キャンセル要求を監視するキャンセル トークン。
返品
例外
sourceDirectoryName または destinationArchiveFileName が長さ 0 の文字列であるか、空白文字のみを含むか、 InvalidPathCharsで定義されている無効な文字が 1 つ以上含まれています。
sourceDirectoryName または destinationArchiveFileName が null。
sourceDirectoryNameまたはdestinationArchiveFileNameでは、指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満にする必要があり、ファイル名は 260 文字未満にする必要があります。
sourceDirectoryNameまたはdestinationArchiveFileNameで指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。
-又は-
sourceDirectoryNameで指定されたディレクトリが存在しません。
sourceDirectoryName または destinationArchiveFileName が無効な形式です。
非同期操作は取り消されます。
注釈
ディレクトリ構造はアーカイブに保持され、アーカイブするファイルに対して再帰的な検索が実行されます。 アーカイブは存在してはなりません。 ディレクトリが空の場合は、空のアーカイブが作成されます。 ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは例外をスローします。 このメソッドでは、ベース ディレクトリはアーカイブに含まれません。
アーカイブへのファイルの追加中にエラーが発生した場合、このメソッドはファイルの追加を停止し、アーカイブを無効な状態のままにします。 パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。 アーカイブ内のファイルの最終書き込み時刻フィールドに有効な zip タイムスタンプではないデータがある場合、ファイルの最終変更時刻に 1980 年 1 月 1 日午前 0 時のインジケーター値が使用されます。指定した名前のエントリがアーカイブに既に存在する場合は、同じ名前の 2 つ目のエントリが作成されます。
CompressionLevelが指定されていないため、基になる圧縮アルゴリズムの実装によって提供される既定値が使用されます。ZipArchiveでは独自の既定値は適用されません。
(現在、基になる圧縮アルゴリズムは、 DeflateStream クラスによって提供されています)。
適用対象
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)
指定した圧縮レベルを使用し、必要に応じてベース ディレクトリを含め、指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定されたストリームに非同期で作成します。
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- sourceDirectoryName
- String
相対パスまたは絶対パスとして指定された、アーカイブするディレクトリへのパス。 相対パスは、現在の作業ディレクトリに対する相対パスとして解釈されます。
- destination
- Stream
zip アーカイブが格納されるストリーム。
- compressionLevel
- CompressionLevel
エントリの作成時に速度または圧縮の有効性を強調するかどうかを示す列挙値の 1 つ。
- includeBaseDirectory
- Boolean
true アーカイブのルートにある sourceDirectoryName のディレクトリ名を含める場合は #。ディレクトリの内容のみを含める false 。
- cancellationToken
- CancellationToken
キャンセル要求を監視するトークン。
返品
例外
sourceDirectoryName が Empty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。
-又は-
destination ストリームは書き込みをサポートしていません。
sourceDirectoryName または destination が null。
sourceDirectoryNameでは、指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
sourceDirectoryName が無効であるか、存在しません (たとえば、マップされていないドライブ上にあります)。
sourceDirectoryName には無効な形式が含まれています。
compressionLevel が有効な CompressionLevel 値ではありません。
非同期操作は取り消されます。
注釈
ファイル システムのディレクトリ構造はアーカイブに保持されます。 ディレクトリが空の場合は、空のアーカイブが作成されます。
このメソッドのオーバーロードを使用して、圧縮レベルと、ベース ディレクトリをアーカイブに含めるかどうかを指定します。
ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは IOException 例外をスローします。
適用対象
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)
sourceDirectoryNameで指定されたディレクトリ内のファイルとディレクトリを含むパス destinationArchiveFileNameに zip アーカイブを非同期的に作成します。
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- sourceDirectoryName
- String
アーカイブするファイル システム上のディレクトリへのパス。
- destinationArchiveFileName
- String
作成するアーカイブの名前。
- compressionLevel
- CompressionLevel
圧縮のレベルを指定する列挙値の 1 つ (速度/メモリと圧縮サイズのトレードオフ)。
- includeBaseDirectory
- Boolean
true
sourceDirectoryNameという名前のディレクトリをアーカイブのルートに含める必要があることを示します。
false
sourceDirectoryName内のファイルとディレクトリをアーカイブに直接含める必要があることを示す場合は a0/>。
- cancellationToken
- CancellationToken
キャンセル要求を監視するキャンセル トークン。
返品
例外
sourceDirectoryName または destinationArchiveFileName が長さ 0 の文字列であるか、空白文字のみを含むか、 InvalidPathCharsで定義されている無効な文字が 1 つ以上含まれています。
sourceDirectoryName または destinationArchiveFileName が null。
sourceDirectoryNameまたはdestinationArchiveFileNameでは、指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満にする必要があり、ファイル名は 260 文字未満にする必要があります。
sourceDirectoryNameまたはdestinationArchiveFileNameで指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。
-又は-
sourceDirectoryNameで指定されたディレクトリが存在しません。
sourceDirectoryName または destinationArchiveFileName が無効な形式です。
非同期操作は取り消されます。
注釈
ディレクトリ構造はアーカイブに保持され、アーカイブするファイルに対して再帰的な検索が実行されます。 アーカイブは存在してはなりません。 ディレクトリが空の場合は、空のアーカイブが作成されます。
ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは例外をスローします。 このメソッドは、必要に応じて、アーカイブにベース ディレクトリを含めます。
アーカイブへのファイルの追加中にエラーが発生した場合、このメソッドはファイルの追加を停止し、アーカイブを無効な状態のままにします。 パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。 アーカイブ内のファイルの最終書き込み時刻フィールドに有効な zip タイムスタンプではないデータがある場合、ファイルの最終変更時刻に 1980 年 1 月 1 日午前 0 時のインジケーター値が使用されます。指定した名前のエントリがアーカイブに既に存在する場合は、同じ名前の 2 番目のエントリが作成されます。
CompressionLevelが指定されていないため、基になる圧縮アルゴリズムの実装によって提供される既定値が使用されます。ZipArchiveは独自の既定値を適用しません。
(現在、基になる圧縮アルゴリズムは、 DeflateStream クラスによって提供されています)。
適用対象
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)
指定したディレクトリのファイルとディレクトリを含む zip アーカイブを、エントリ名に指定した圧縮レベルと文字エンコードを使用して非同期的に作成し、必要に応じてベース ディレクトリを含めます。
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- sourceDirectoryName
- String
相対パスまたは絶対パスとして指定された、アーカイブするディレクトリへのパス。 相対パスは、現在の作業ディレクトリに対する相対パスとして解釈されます。
- destination
- Stream
zip アーカイブが格納されるストリーム。
- compressionLevel
- CompressionLevel
エントリの作成時に速度または圧縮の有効性を強調するかどうかを示す列挙値の 1 つ。
- includeBaseDirectory
- Boolean
true アーカイブのルートにある sourceDirectoryName のディレクトリ名を含める場合は #。ディレクトリの内容のみを含める false 。
- entryNameEncoding
- Encoding
このアーカイブ内のエントリ名の読み取りまたは書き込み時に使用するエンコード。 このパラメーターの値は、エントリ名またはコメントに UTF-8 エンコードをサポートしていない zip アーカイブ ツールおよびライブラリとの相互運用性にエンコードが必要な場合にのみ指定します。
- cancellationToken
- CancellationToken
キャンセル要求を監視するキャンセル トークン。
返品
例外
sourceDirectoryName が Empty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。
-又は-
destination ストリームは書き込みをサポートしていません。
sourceDirectoryName または destination が null。
sourceDirectoryNameでは、指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
sourceDirectoryName が無効であるか、存在しません (たとえば、マップされていないドライブ上にあります)。
sourceDirectoryName には無効な形式が含まれています。
compressionLevel が有効な CompressionLevel 値ではありません。
非同期操作は取り消されます。
注釈
ファイル システムのディレクトリ構造はアーカイブに保持されます。 ディレクトリが空の場合は、空のアーカイブが作成されます。
圧縮レベルと文字エンコード、およびベース ディレクトリをアーカイブに含めるかどうかを指定するには、このメソッドオーバーロードを使用します。
ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは IOException 例外をスローします。
適用対象
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)
sourceDirectoryNameで指定されたディレクトリ内のファイルとディレクトリを含むパス destinationArchiveFileNameに zip アーカイブを非同期的に作成します。
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- sourceDirectoryName
- String
アーカイブするファイル システム上のディレクトリへのパス。
- destinationArchiveFileName
- String
作成するアーカイブの名前。
- compressionLevel
- CompressionLevel
圧縮のレベルを指定する列挙値の 1 つ (速度/メモリと圧縮サイズのトレードオフ)。
- includeBaseDirectory
- Boolean
true
sourceDirectoryNameという名前のディレクトリをアーカイブのルートに含める必要があることを示します。
false
sourceDirectoryName内のファイルとディレクトリをアーカイブに直接含める必要があることを示す場合は a0/>。
- entryNameEncoding
- Encoding
この ZipArchive でエントリ名とコメントを読み書きするときに使用するエンコード。
- cancellationToken
- CancellationToken
キャンセル要求を監視するキャンセル トークン。
返品
例外
sourceDirectoryName または destinationArchiveFileName が長さ 0 の文字列であるか、空白文字のみを含むか、 InvalidPathCharsで定義されている無効な文字が 1 つ以上含まれています。
sourceDirectoryName または destinationArchiveFileName が null。
sourceDirectoryNameまたはdestinationArchiveFileNameでは、指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満にする必要があり、ファイル名は 260 文字未満にする必要があります。
sourceDirectoryNameまたはdestinationArchiveFileNameで指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。
-又は-
sourceDirectoryNameで指定されたディレクトリが存在しません。
sourceDirectoryName または destinationArchiveFileName が無効な形式です。
非同期操作は取り消されます。
注釈
ディレクトリ構造はアーカイブに保持され、アーカイブするファイルに対して再帰的な検索が実行されます。 アーカイブは存在してはなりません。 ディレクトリが空の場合は、空のアーカイブが作成されます。
ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは例外をスローします。 このメソッドは、必要に応じて、アーカイブにベース ディレクトリを含めます。
アーカイブへのファイルの追加中にエラーが発生した場合、このメソッドはファイルの追加を停止し、アーカイブを無効な状態のままにします。 パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。 アーカイブ内のファイルの最終書き込み時刻フィールドに有効な zip タイムスタンプではないデータがある場合、ファイルの最終変更時刻に 1980 年 1 月 1 日午前 0 時のインジケーター値が使用されます。指定した名前のエントリがアーカイブに既に存在する場合は、同じ名前の 2 番目のエントリが作成されます。
CompressionLevelが指定されていないため、基になる圧縮アルゴリズムの実装によって提供される既定値が使用されます。ZipArchiveは独自の既定値を適用しません。
(現在、基になる圧縮アルゴリズムは、 DeflateStream クラスによって提供されています)。
null以外のentryNameEncodingの値を指定することはお勧めしません。
ただし、エントリ名またはコメントに対して UTF-8 エンコードが正しくサポートされていない zip アーカイブ ツールやライブラリとの相互運用性のために、これが必要になる場合があります。
-
entryNameEncodingが指定されていない場合 (== null):- ASCII 範囲外の文字を含むファイル名またはコメントの場合:
言語エンコード フラグ (EFS) は、対応するエントリのローカル ファイル ヘッダーの汎用ビット フラグに設定され、UTF-8 (Encoding.UTF8) を使用してエントリ名とコメントをバイトにエンコードします。 - ASCII 範囲外の文字を含まないファイル名またはコメントの場合:
言語エンコード フラグ (EFS) は、対応するエントリのローカル ファイル ヘッダーの汎用ビット フラグには設定されず、現在のシステムの既定のコード ページ (Encoding.Default) を使用して、エントリ名とコメントをバイトにエンコードします。
- ASCII 範囲外の文字を含むファイル名またはコメントの場合:
-
entryNameEncodingが指定されている場合 (!= null):- 指定した
entryNameEncodingは、エントリ名とコメントをバイトにエンコードするために常に使用されます。
指定したentryNameEncodingが UTF-8 エンコードの場合にのみ、各エントリのローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されます。
- 指定した
UTF-8 以外の Unicode エンコードは entryNameEncodingに使用できません。それ以外の場合は、 ArgumentException がスローされます。