ZipFile.CreateFromDirectoryAsync メソッド

定義

オーバーロード

名前 説明
CreateFromDirectoryAsync(String, Stream, CancellationToken)

指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定したストリームに非同期で作成します。

CreateFromDirectoryAsync(String, String, CancellationToken)

sourceDirectoryNameで指定されたディレクトリのファイルとディレクトリを含むパス destinationArchiveFileNameに zip アーカイブを非同期的に作成します。

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)

指定した圧縮レベルを使用し、必要に応じてベース ディレクトリを含め、指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定されたストリームに非同期で作成します。

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)

sourceDirectoryNameで指定されたディレクトリ内のファイルとディレクトリを含むパス destinationArchiveFileNameに zip アーカイブを非同期的に作成します。

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)

指定したディレクトリのファイルとディレクトリを含む zip アーカイブを、エントリ名に指定した圧縮レベルと文字エンコードを使用して非同期的に作成し、必要に応じてベース ディレクトリを含めます。

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)

sourceDirectoryNameで指定されたディレクトリ内のファイルとディレクトリを含むパス destinationArchiveFileNameに zip アーカイブを非同期的に作成します。

CreateFromDirectoryAsync(String, Stream, CancellationToken)

ソース:
ZipFile.Create.Async.cs
ソース:
ZipFile.Create.Async.cs

指定したディレクトリのファイルとディレクトリを含む 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

キャンセル要求を監視するキャンセル トークン。

返品

例外

sourceDirectoryNameEmpty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。

-又は-

destination ストリームは書き込みをサポートしていません。

sourceDirectoryName または destinationnull

sourceDirectoryNameでは、指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

sourceDirectoryName が無効であるか、存在しません (たとえば、マップされていないドライブ上にあります)。

指定したディレクトリ内のファイルを開くことができませんでした。

-又は-

アーカイブするファイルを開くときに I/O エラーが発生しました。

sourceDirectoryName には無効な形式が含まれています。

非同期操作は取り消されます。

注釈

ファイル システムのディレクトリ構造はアーカイブに保持されます。 ディレクトリが空の場合は、空のアーカイブが作成されます。

このメソッドのオーバーロードには、アーカイブ内のベース ディレクトリは含まれていないので、圧縮レベルを指定することはできません。

ベース ディレクトリを含める場合、または圧縮レベルを指定する場合は、 CreateFromDirectory(String, Stream, CompressionLevel, Boolean) メソッドのオーバーロードを呼び出します。

ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは IOException 例外をスローします。

適用対象

CreateFromDirectoryAsync(String, String, CancellationToken)

ソース:
ZipFile.Create.Async.cs
ソース:
ZipFile.Create.Async.cs

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 または destinationArchiveFileNamenull

sourceDirectoryNameまたはdestinationArchiveFileNameでは、指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満にする必要があり、ファイル名は 260 文字未満にする必要があります。

sourceDirectoryNameまたはdestinationArchiveFileNameで指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。

-又は-

sourceDirectoryNameで指定されたディレクトリが存在しません。

destinationArchiveFileName は既に存在します。

-又は-

アーカイブするファイルを開くときに I/O エラーが発生しました。

destinationArchiveFileName はディレクトリを指定しました。

-又は-

呼び出し元に必要なアクセス許可がありません。

sourceDirectoryName または destinationArchiveFileName が無効な形式です。

非同期操作は取り消されます。

注釈

ディレクトリ構造はアーカイブに保持され、アーカイブするファイルに対して再帰的な検索が実行されます。 アーカイブは存在してはなりません。 ディレクトリが空の場合は、空のアーカイブが作成されます。 ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは例外をスローします。 このメソッドでは、ベース ディレクトリはアーカイブに含まれません。

アーカイブへのファイルの追加中にエラーが発生した場合、このメソッドはファイルの追加を停止し、アーカイブを無効な状態のままにします。 パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。 アーカイブ内のファイルの最終書き込み時刻フィールドに有効な zip タイムスタンプではないデータがある場合、ファイルの最終変更時刻に 1980 年 1 月 1 日午前 0 時のインジケーター値が使用されます。指定した名前のエントリがアーカイブに既に存在する場合は、同じ名前の 2 つ目のエントリが作成されます。 CompressionLevelが指定されていないため、基になる圧縮アルゴリズムの実装によって提供される既定値が使用されます。ZipArchiveでは独自の既定値は適用されません。

(現在、基になる圧縮アルゴリズムは、 DeflateStream クラスによって提供されています)。

適用対象

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)

ソース:
ZipFile.Create.Async.cs
ソース:
ZipFile.Create.Async.cs

指定した圧縮レベルを使用し、必要に応じてベース ディレクトリを含め、指定したディレクトリのファイルとディレクトリを含む 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

キャンセル要求を監視するトークン。

返品

例外

sourceDirectoryNameEmpty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。

-又は-

destination ストリームは書き込みをサポートしていません。

sourceDirectoryName または destinationnull

sourceDirectoryNameでは、指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

sourceDirectoryName が無効であるか、存在しません (たとえば、マップされていないドライブ上にあります)。

指定したディレクトリ内のファイルを開くことができませんでした。

-又は-

アーカイブするファイルを開くときに I/O エラーが発生しました。

sourceDirectoryName には無効な形式が含まれています。

compressionLevel が有効な CompressionLevel 値ではありません。

非同期操作は取り消されます。

注釈

ファイル システムのディレクトリ構造はアーカイブに保持されます。 ディレクトリが空の場合は、空のアーカイブが作成されます。

このメソッドのオーバーロードを使用して、圧縮レベルと、ベース ディレクトリをアーカイブに含めるかどうかを指定します。

ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは IOException 例外をスローします。

適用対象

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)

ソース:
ZipFile.Create.Async.cs
ソース:
ZipFile.Create.Async.cs

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 または destinationArchiveFileNamenull

sourceDirectoryNameまたはdestinationArchiveFileNameでは、指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満にする必要があり、ファイル名は 260 文字未満にする必要があります。

sourceDirectoryNameまたはdestinationArchiveFileNameで指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。

-又は-

sourceDirectoryNameで指定されたディレクトリが存在しません。

destinationArchiveFileName は既に存在します。

-又は-

アーカイブするファイルを開くときに I/O エラーが発生しました。

destinationArchiveFileName はディレクトリを指定しました。

-又は-

呼び出し元に必要なアクセス許可がありません。

sourceDirectoryName または destinationArchiveFileName が無効な形式です。

非同期操作は取り消されます。

注釈

ディレクトリ構造はアーカイブに保持され、アーカイブするファイルに対して再帰的な検索が実行されます。 アーカイブは存在してはなりません。 ディレクトリが空の場合は、空のアーカイブが作成されます。

ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは例外をスローします。 このメソッドは、必要に応じて、アーカイブにベース ディレクトリを含めます。

アーカイブへのファイルの追加中にエラーが発生した場合、このメソッドはファイルの追加を停止し、アーカイブを無効な状態のままにします。 パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。 アーカイブ内のファイルの最終書き込み時刻フィールドに有効な zip タイムスタンプではないデータがある場合、ファイルの最終変更時刻に 1980 年 1 月 1 日午前 0 時のインジケーター値が使用されます。指定した名前のエントリがアーカイブに既に存在する場合は、同じ名前の 2 番目のエントリが作成されます。 CompressionLevelが指定されていないため、基になる圧縮アルゴリズムの実装によって提供される既定値が使用されます。ZipArchiveは独自の既定値を適用しません。

(現在、基になる圧縮アルゴリズムは、 DeflateStream クラスによって提供されています)。

適用対象

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)

ソース:
ZipFile.Create.Async.cs
ソース:
ZipFile.Create.Async.cs

指定したディレクトリのファイルとディレクトリを含む 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

キャンセル要求を監視するキャンセル トークン。

返品

例外

sourceDirectoryNameEmpty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。

-又は-

destination ストリームは書き込みをサポートしていません。

sourceDirectoryName または destinationnull

sourceDirectoryNameでは、指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

sourceDirectoryName が無効であるか、存在しません (たとえば、マップされていないドライブ上にあります)。

指定したディレクトリ内のファイルを開くことができませんでした。

-又は-

アーカイブするファイルを開くときに I/O エラーが発生しました。

sourceDirectoryName には無効な形式が含まれています。

compressionLevel が有効な CompressionLevel 値ではありません。

非同期操作は取り消されます。

注釈

ファイル システムのディレクトリ構造はアーカイブに保持されます。 ディレクトリが空の場合は、空のアーカイブが作成されます。

圧縮レベルと文字エンコード、およびベース ディレクトリをアーカイブに含めるかどうかを指定するには、このメソッドオーバーロードを使用します。

ディレクトリ内のファイルをアーカイブに追加できない場合、アーカイブは不完全で無効なままになり、メソッドは IOException 例外をスローします。

適用対象

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)

ソース:
ZipFile.Create.Async.cs
ソース:
ZipFile.Create.Async.cs

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 または destinationArchiveFileNamenull

sourceDirectoryNameまたはdestinationArchiveFileNameでは、指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満にする必要があり、ファイル名は 260 文字未満にする必要があります。

sourceDirectoryNameまたはdestinationArchiveFileNameで指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。

-又は-

sourceDirectoryNameで指定されたディレクトリが存在しません。

destinationArchiveFileName は既に存在します。

-又は-

アーカイブするファイルを開くときに I/O エラーが発生しました。

destinationArchiveFileName はディレクトリを指定しました。

-又は-

呼び出し元に必要なアクセス許可がありません。

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) を使用して、エントリ名とコメントをバイトにエンコードします。
  • entryNameEncodingが指定されている場合 (!= null):
    • 指定した entryNameEncoding は、エントリ名とコメントをバイトにエンコードするために常に使用されます。
      指定した entryNameEncoding が UTF-8 エンコードの場合にのみ、各エントリのローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されます。

UTF-8 以外の Unicode エンコードは entryNameEncodingに使用できません。それ以外の場合は、 ArgumentException がスローされます。

適用対象