ZipFile.ExtractToDirectory メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した zip アーカイブのすべてのファイルをファイル システムのディレクトリに抽出します。
オーバーロード
ExtractToDirectory(String, String, Encoding, Boolean) |
指定したアーカイブのすべてのファイルをファイル システムのディレクトリに抽出します。 |
ExtractToDirectory(Stream, String, Encoding, Boolean) |
指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名に指定した文字エンコードを使用します。また、必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。 |
ExtractToDirectory(String, String, Encoding) |
指定した zip アーカイブのすべてのファイルをファイル システムのディレクトリに抽出し、エントリ名に指定した文字エンコーディングを使用します。 |
ExtractToDirectory(String, String, Boolean) |
指定したアーカイブのすべてのファイルをファイル システムのディレクトリに抽出します。 |
ExtractToDirectory(Stream, String, Boolean) |
指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定した宛先ディレクトリに配置します。必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。 |
ExtractToDirectory(String, String) |
指定した zip アーカイブのすべてのファイルをファイル システムのディレクトリに抽出します。 |
ExtractToDirectory(Stream, String) |
指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定した宛先ディレクトリに配置します。 |
ExtractToDirectory(Stream, String, Encoding) |
指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定した宛先ディレクトリに配置し、エントリ名に指定した文字エンコードを使用します。 |
ExtractToDirectory(String, String, Encoding, Boolean)
指定したアーカイブのすべてのファイルをファイル システムのディレクトリに抽出します。
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : string * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)
パラメーター
- sourceArchiveFileName
- String
抽出されるアーカイブへのファイル システム上のパス。
- destinationDirectoryName
- String
ファイル システム上のコピー先ディレクトリへのパス。
- entryNameEncoding
- Encoding
この ZipArchive のエントリ名の読み取り時に使用するエンコード。
- overwriteFiles
- Boolean
ファイルを上書きする場合は true
。それ以外の場合は false
。
例外
sourceArchiveFileName
または destinationDirectoryName
は長さ 0 の文字列で、空白のみが含まれるか、または InvalidPathChars で定義される 1 つまたは複数の無効な文字が含まれます。
- または -
entryNameEncoding
は UTF-8 以外の Unicode エンコーディングに設定されています。
sourceArchiveFileName
または destinationDirectoryName
が null
です。
sourceArchiveFileName
または destinationDirectoryName
で、システム定義の最大長を超えるパス、ファイル名、またはその両方を指定します。
sourceArchiveFileName
または destinationDirectoryName
で指定されたパスが正しくありません (マップされていないドライブ上にあるなど)。
overwriteFiles
は false
で、抽出するアーカイブ エントリの名前は、 に既に destinationDirectoryName
存在するファイルと同じです。
- または -
I/O エラーが発生しました。
- または -
ZipArchiveEntry の名前は長さ 0 の文字列で、空白のみが含まれるか、または InvalidPathChars で定義される 1 つまたは複数の無効な文字が含まれます。
- または -
ZipArchiveEntry を抽出すると、(親ディレクトリのアクセサーによってなど) コピー先のディレクトリの外部にあるターゲット ファイルが生成されます。
- または -
ZipArchiveEntry には、同じアーカイブから既に抽出されたエントリと同じ名前が付けられています。
呼び出し元に、必要なアクセス許可がありません。
sourceArchiveFileName
または destinationDirectoryName
の形式が正しくありません。
sourceArchiveFileName
が見つかりませんでした。
sourceArchiveFileName
で指定されたアーカイブが有効な ZipArchive ではありません。
- または -
アーカイブ エントリが見つからないか、破損しています。
- または -
サポートされていない圧縮方式を使用して、アーカイブ エントリが圧縮されています。
注釈
アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。
各エントリは、抽出されたファイルがアーカイブに対するエントリと同じ相対パスを destinationDirectoryName
持つように抽出されます。
パラメーターと destinationDirectoryName
パラメーターはsourceArchiveFileName
、相対パスと絶対パスの両方を受け入れます。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。
アーカイブするファイルの最終変更時刻が無効な場合は、Zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日午前 0 時) が使用されます。
適用対象
ExtractToDirectory(Stream, String, Encoding, Boolean)
指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名に指定した文字エンコードを使用します。また、必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)
パラメーター
- source
- Stream
zip アーカイブの抽出元となるストリーム。
- destinationDirectoryName
- String
抽出ファイルを置くディレクトリのパス。相対パスまたは絶対パスとして指定します。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。
- entryNameEncoding
- Encoding
このアーカイブのエントリ名の読み取りまたは書き込み時に使用するエンコード。 エントリ名の UTF-8 エンコードをサポートしない zip アーカイブ ツールとライブラリとの相互運用性のためにエンコードが必要な場合にのみ、このパラメーターの値を指定してください。
- overwriteFiles
- Boolean
ファイルを上書きする場合は true
。それ以外の場合は false
。
例外
destinationDirectoryName
> は、 Empty空白のみを含むか、少なくとも 1 つの無効な文字を含みます。
- または -
entryNameEncoding
は UTF-8 以外の Unicode エンコーディングに設定されています。
destinationDirectoryName
または source
が null
です。
で destinationDirectoryName
指定したパスが、システム定義の最大長を超えています。
指定されたパスが正しくありません (たとえば、マップされていないドライブにあるなど)。
アーカイブ内のエントリの名前が Empty であるか、名前に空白だけが含まれているか、無効な文字が少なくとも 1 つ含まれています。
- または -
アーカイブ エントリを抽出すると、destinationDirectoryName
で指定されているディレクトリの外部にファイルが作成されます。 (たとえば、エントリ名に親ディレクトリのアクセサーが含まれている場合に発生する可能性があります。)
- または -
overwriteFiles
は false
で、抽出するアーカイブ エントリの名前は、既に抽出されているエントリまたは に destinationDirectoryName
存在するエントリと同じです。
呼び出し元に、アーカイブまたは目的のディレクトリにアクセスするために必要な許可がありません。
destinationDirectoryName
に無効な書式指定が格納されています。
ストリームに source
含まれるアーカイブが有効な zip アーカイブではありません。
- または -
アーカイブ エントリが見つからないか、破損しています。
- または -
アーカイブ エントリがサポートされていない圧縮方式を使用して圧縮されました。
注釈
このメソッドは、指定されたディレクトリとすべてのサブディレクトリを作成します。 宛先ディレクトリは既に存在できません。 パラメーターに含まれる source
zip アーカイブ内の または ファイルのdestinationDirectoryName
パスの検証に関連する例外は、抽出前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルは、アーカイブのルートへの destinationDirectoryName
ソース エントリと同じ相対パスを持ちます。 アーカイブするファイルの最終変更時刻が無効な場合は、Zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日午前 0 時) が使用されます。
適用対象
ExtractToDirectory(String, String, Encoding)
指定した zip アーカイブのすべてのファイルをファイル システムのディレクトリに抽出し、エントリ名に指定した文字エンコーディングを使用します。
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : string * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding)
パラメーター
- sourceArchiveFileName
- String
抽出するアーカイブのパス。
- destinationDirectoryName
- String
抽出ファイルを置くディレクトリのパス。相対パスまたは絶対パスとして指定します。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。
- entryNameEncoding
- Encoding
このアーカイブのエントリ名の読み取りまたは書き込み時に使用するエンコード。 エントリ名の UTF-8 エンコードをサポートしない zip アーカイブ ツールとライブラリとの相互運用性のためにエンコードが必要な場合にのみ、このパラメーターの値を指定してください。
例外
destinationDirectoryName
または sourceArchiveFileName
が Empty であるか、空白文字のみが含まれているか、無効な文字が少なくとも 1 つ含まれています。
- または -
entryNameEncoding
は UTF-8 以外の Unicode エンコーディングに設定されています。
destinationDirectoryName
または sourceArchiveFileName
が null
です。
destinationDirectoryName
または sourceArchiveFileName
の指定されたパスがシステムで定義されている最大長を超えています。
指定されたパスが正しくありません (たとえば、マップされていないドライブにあるなど)。
アーカイブ内のエントリの名前が Empty であるか、名前に空白だけが含まれているか、無効な文字が少なくとも 1 つ含まれています。
- または -
アーカイブ エントリを抽出すると、destinationDirectoryName
で指定されているディレクトリの外部にファイルが作成されます。 (たとえば、エントリ名に親ディレクトリのアクセサーが含まれている場合に発生する可能性があります。)
- または -
抽出するアーカイブ エントリの名前は、既に抽出されているエントリまたは に destinationDirectoryName
存在するエントリと同じです。
呼び出し元に、アーカイブまたは目的のディレクトリにアクセスするために必要な許可がありません。
destinationDirectoryName
または sourceArchiveFileName
に無効な書式が含まれています。
sourceArchiveFileName
が見つかりませんでした。
sourceArchiveFileName
で指定されたアーカイブが有効な zip アーカイブではありません。
- または -
アーカイブ エントリが見つからないか、破損しています。
- または -
アーカイブ エントリがサポートされていない圧縮方式を使用して圧縮されました。
注釈
このメソッドは、必要に応じて、指定されたディレクトリとすべてのサブディレクトリを作成します。 または sourceArchiveFileName
パラメーターのパスの検証にdestinationDirectoryName
関連する例外は、抽出前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルには、 で destinationDirectoryName
指定されたディレクトリへの相対パスが、アーカイブのルートへのソース エントリと同じです。
が 以外null
の値に設定されている場合entryNameEncoding
、エントリ名は次の規則に従ってデコードされます。
- 言語エンコード フラグ (ローカル ファイル ヘッダーの汎用ビット フラグ内) が設定されていないエントリ名の場合、エントリ名は指定したエンコーディングを使用してデコードされます。
- 言語エンコード フラグが設定されているエントリの場合、エントリ名は UTF-8 を使用してデコードされます。
が にnull
設定されている場合entryNameEncoding
、エントリ名は次の規則に従ってデコードされます。
- 言語エンコード フラグ (ローカル ファイル ヘッダーの汎用ビット フラグ内) が設定されていないエントリの場合、エントリ名は現在のシステムの既定のコード ページを使用してデコードされます。
- 言語エンコード フラグが設定されているエントリの場合、エントリ名は UTF-8 を使用してデコードされます。
適用対象
ExtractToDirectory(String, String, Boolean)
指定したアーカイブのすべてのファイルをファイル システムのディレクトリに抽出します。
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)
パラメーター
- sourceArchiveFileName
- String
抽出されるアーカイブへのファイル システム上のパス。
- destinationDirectoryName
- String
ファイル システム上のコピー先ディレクトリへのパス。
- overwriteFiles
- Boolean
ファイルを上書きする場合は true
。それ以外の場合は false
。
例外
sourceArchiveFileName
または destinationDirectoryName
は長さ 0 の文字列で、空白のみが含まれるか、または InvalidPathChars で定義される 1 つまたは複数の無効な文字が含まれます。
sourceArchiveFileName
または destinationDirectoryName
が null
です。
sourceArchiveFileName
または destinationDirectoryName
で、システム定義の最大長を超えるパス、ファイル名、またはその両方を指定します。
sourceArchiveFileName
または destinationDirectoryName
で指定されたパスが正しくありません (マップされていないドライブ上にあるなど)。
overwriteFiles
は で false
、 destinationDirectoryName
抽出されるファイルと同じ名前のファイルが既に含まれています。
- または -
I/O エラーが発生しました。
- または -
ZipArchiveEntry の名前は長さ 0 の文字列で、空白のみが含まれるか、または InvalidPathChars で定義される 1 つまたは複数の無効な文字が含まれます。
- または -
ZipArchiveEntry を抽出すると、(親ディレクトリのアクセサーによってなど) コピー先のディレクトリの外部にあるターゲット ファイルが生成されます。
- または -
ZipArchiveEntryには、既に抽出されているのと同じアーカイブからのエントリと同じ名前があります。
呼び出し元に、必要なアクセス許可がありません。
sourceArchiveFileName
または destinationDirectoryName
の形式が正しくありません。
sourceArchiveFileName
が見つかりませんでした。
sourceArchiveFileName
で指定されたアーカイブが有効な ZipArchive ではありません。
- または -
ZipArchiveEntry が見つからないか、破損しています。
- または -
ZipArchiveEntry は、サポートされていない圧縮方法を使用して圧縮されています。
注釈
アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。
各エントリは、抽出されたファイルがアーカイブに対するエントリと同じ相対パスを destinationDirectoryName
持つように抽出されます。
パラメーターと destinationDirectoryName
パラメーターはsourceArchiveFileName
、相対パスと絶対パスの両方を受け入れます。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。
アーカイブするファイルの最終変更時刻が無効な場合は、Zip タイムスタンプ形式 (1980 年 1 月 1 日午前 0 時) で表される最初の日付と時刻が使用されます。
適用対象
ExtractToDirectory(Stream, String, Boolean)
指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定した宛先ディレクトリに配置します。必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)
パラメーター
- source
- Stream
zip アーカイブの抽出元となるストリーム。
- destinationDirectoryName
- String
抽出ファイルを置くディレクトリのパス。相対パスまたは絶対パスとして指定します。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。
- overwriteFiles
- Boolean
ファイルを上書きする場合は true
。それ以外の場合は false
。
例外
destinationDirectoryName
> は 、 Empty空白のみを含むか、少なくとも 1 つの無効な文字を含みます。
destinationDirectoryName
または source
が null
です。
で destinationDirectoryName
指定したパスが、システム定義の最大長を超えています。
指定されたパスが正しくありません (たとえば、マップされていないドライブにあるなど)。
アーカイブ内のエントリの名前が Empty であるか、名前に空白だけが含まれているか、無効な文字が少なくとも 1 つ含まれています。
- または -
アーカイブ エントリを抽出すると、destinationDirectoryName
で指定されているディレクトリの外部にファイルが作成されます。 (たとえば、エントリ名に親ディレクトリのアクセサーが含まれている場合に発生する可能性があります。)
- または -
overwriteFiles
は false
で、抽出するアーカイブ エントリは、既に抽出されているエントリまたは に destinationDirectoryName
存在するエントリと同じ名前を持っています。
呼び出し元に、アーカイブまたは目的のディレクトリにアクセスするために必要な許可がありません。
destinationDirectoryName
に無効な書式指定が格納されています。
ストリームに source
含まれるアーカイブは、有効な zip アーカイブではありません。
- または -
アーカイブ エントリが見つからないか、破損しています。
- または -
アーカイブ エントリがサポートされていない圧縮方式を使用して圧縮されました。
注釈
このメソッドは、指定したディレクトリとすべてのサブディレクトリを作成します。 宛先ディレクトリは既に存在できません。 パラメーターに含まれる source
zip アーカイブ内の または ファイルのdestinationDirectoryName
パスの検証に関連する例外は、抽出の前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルには、 で destinationDirectoryName
指定されたディレクトリへの相対パスが、アーカイブのルートへのソース エントリと同じです。 アーカイブするファイルの最終変更時刻が無効な場合は、Zip タイムスタンプ形式 (1980 年 1 月 1 日午前 0 時) で表される最初の日付と時刻が使用されます。
適用対象
ExtractToDirectory(String, String)
指定した zip アーカイブのすべてのファイルをファイル システムのディレクトリに抽出します。
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName);
static member ExtractToDirectory : string * string -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String)
パラメーター
- sourceArchiveFileName
- String
抽出するアーカイブのパス。
- destinationDirectoryName
- String
抽出ファイルを置くディレクトリのパス。相対パスまたは絶対パスとして指定します。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。
例外
destinationDirectoryName
または sourceArchiveFileName
が Empty であるか、空白文字のみが含まれているか、無効な文字が少なくとも 1 つ含まれています。
destinationDirectoryName
または sourceArchiveFileName
が null
です。
destinationDirectoryName
または sourceArchiveFileName
の指定されたパスがシステムで定義されている最大長を超えています。
指定されたパスが正しくありません (たとえば、マップされていないドライブにあるなど)。
アーカイブ内のエントリの名前が Empty であるか、名前に空白だけが含まれているか、無効な文字が少なくとも 1 つ含まれています。
- または -
アーカイブ エントリを抽出すると、destinationDirectoryName
で指定されているディレクトリの外部にファイルが作成されます。 (たとえば、エントリ名に親ディレクトリのアクセサーが含まれている場合に発生する可能性があります。)
- または -
抽出するアーカイブ エントリの名前は、既に抽出されているエントリまたは に destinationDirectoryName
存在するエントリと同じです。
呼び出し元に、アーカイブまたは目的のディレクトリにアクセスするために必要な許可がありません。
destinationDirectoryName
または sourceArchiveFileName
に無効な書式が含まれています。
sourceArchiveFileName
が見つかりませんでした。
sourceArchiveFileName
で指定されたアーカイブが有効な zip アーカイブではありません。
- または -
アーカイブ エントリが見つからないか、破損しています。
- または -
アーカイブ エントリがサポートされていない圧縮方式を使用して圧縮されました。
例
この例では、 クラスを使用して zip アーカイブを作成および抽出する方法を ZipFile 示します。 フォルダーの内容を zip アーカイブに圧縮し、その内容を新しいフォルダーに抽出します。 ZipFile クラスを使用するには、プロジェクトの System.IO.Compression.FileSystem
アセンブリを参照する必要があります。
using System;
using System.IO.Compression;
class Program
{
static void Main(string[] args)
{
string startPath = @".\start";
string zipPath = @".\result.zip";
string extractPath = @".\extract";
ZipFile.CreateFromDirectory(startPath, zipPath);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
open System.IO.Compression
let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression
Module Module1
Sub Main()
Dim startPath As String = ".\start"
Dim zipPath As String = ".\result.zip"
Dim extractPath As String = ".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
End Sub
End Module
注釈
このメソッドは、指定されたディレクトリとすべてのサブディレクトリを作成します。 宛先ディレクトリは既に存在できません。 または sourceArchiveFileName
パラメーターのパスの検証にdestinationDirectoryName
関連する例外は、抽出前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルは、アーカイブのルートへの destinationDirectoryName
ソース エントリと同じ相対パスを持ちます。
適用対象
ExtractToDirectory(Stream, String)
指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定した宛先ディレクトリに配置します。
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Stream * string -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String)
パラメーター
- source
- Stream
zip アーカイブの抽出元となるストリーム。
- destinationDirectoryName
- String
抽出ファイルを置くディレクトリのパス。相対パスまたは絶対パスとして指定します。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。
例外
destinationDirectoryName
> は、 Empty空白のみを含むか、少なくとも 1 つの無効な文字を含みます。
destinationDirectoryName
または source
が null
です。
で destinationDirectoryName
指定したパスが、システム定義の最大長を超えています。
指定されたパスが正しくありません (たとえば、マップされていないドライブにあるなど)。
アーカイブ内のエントリの名前が Empty であるか、名前に空白だけが含まれているか、無効な文字が少なくとも 1 つ含まれています。
- または -
アーカイブ エントリを抽出すると、destinationDirectoryName
で指定されているディレクトリの外部にファイルが作成されます。 (たとえば、エントリ名に親ディレクトリのアクセサーが含まれている場合に発生する可能性があります。)
- または -
抽出するアーカイブ エントリの名前は、既に抽出されているエントリまたは に destinationDirectoryName
存在するエントリと同じです。
呼び出し元に、アーカイブまたは目的のディレクトリにアクセスするために必要な許可がありません。
destinationDirectoryName
に無効な書式指定が格納されています。
ストリームに source
含まれるアーカイブが有効な zip アーカイブではありません。
- または -
アーカイブ エントリが見つからないか、破損しています。
- または -
アーカイブ エントリがサポートされていない圧縮方式を使用して圧縮されました。
注釈
このメソッドは、指定されたディレクトリとすべてのサブディレクトリを作成します。 宛先ディレクトリは既に存在できません。 パラメーターに含まれる source
zip アーカイブ内の または ファイルのdestinationDirectoryName
パスの検証に関連する例外は、抽出前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルは、アーカイブのルートへの destinationDirectoryName
ソース エントリと同じ相対パスを持ちます。 アーカイブするファイルの最終変更時刻が無効な場合は、Zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日午前 0 時) が使用されます。
適用対象
ExtractToDirectory(Stream, String, Encoding)
指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定した宛先ディレクトリに配置し、エントリ名に指定した文字エンコードを使用します。
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding)
パラメーター
- source
- Stream
zip アーカイブの抽出元となるストリーム。
- destinationDirectoryName
- String
抽出ファイルを置くディレクトリのパス。相対パスまたは絶対パスとして指定します。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。
- entryNameEncoding
- Encoding
このアーカイブのエントリ名の読み取りまたは書き込み時に使用するエンコード。 エントリ名の UTF-8 エンコードをサポートしない zip アーカイブ ツールとライブラリとの相互運用性のためにエンコードが必要な場合にのみ、このパラメーターの値を指定してください。
例外
destinationDirectoryName
> は、 Empty空白のみを含むか、少なくとも 1 つの無効な文字を含みます。
- または -
entryNameEncoding
は UTF-8 以外の Unicode エンコーディングに設定されています。
destinationDirectoryName
または source
が null
です。
で destinationDirectoryName
指定したパスが、システム定義の最大長を超えています。
指定されたパスが正しくありません (たとえば、マップされていないドライブにあるなど)。
アーカイブ内のエントリの名前が Empty であるか、名前に空白だけが含まれているか、無効な文字が少なくとも 1 つ含まれています。
- または -
アーカイブ エントリを抽出すると、destinationDirectoryName
で指定されているディレクトリの外部にファイルが作成されます。 (たとえば、エントリ名に親ディレクトリのアクセサーが含まれている場合に発生する可能性があります。)
- または -
抽出するアーカイブ エントリの名前は、既に抽出されているエントリまたは に destinationDirectoryName
存在するエントリと同じです。
呼び出し元に、アーカイブまたは目的のディレクトリにアクセスするために必要な許可がありません。
destinationDirectoryName
に無効な書式指定が格納されています。
ストリームに source
含まれるアーカイブが有効な zip アーカイブではありません。
- または -
アーカイブ エントリが見つからないか、破損しています。
- または -
アーカイブ エントリがサポートされていない圧縮方式を使用して圧縮されました。
注釈
このメソッドは、指定されたディレクトリとすべてのサブディレクトリを作成します。 宛先ディレクトリは既に存在できません。 パラメーターに含まれる source
zip アーカイブ内の または ファイルのdestinationDirectoryName
パスの検証に関連する例外は、抽出前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルは、アーカイブのルートへの destinationDirectoryName
ソース エントリと同じ相対パスを持ちます。 アーカイブするファイルの最終変更時刻が無効な場合は、Zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日午前 0 時) が使用されます。
適用対象
.NET