DirectoryInfo コンストラクタ
指定したパスに対する、 DirectoryInfo クラスの新しいインスタンスを初期化します。
Public Sub New( _
ByVal path As String _)
[C#]
public DirectoryInfo(
stringpath);
[C++]
public: DirectoryInfo(
String* path);
[JScript]
public function DirectoryInfo(
path : String);
パラメータ
- path
DirectoryInfo を作成する対象のパスを指定する文字列。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | path が null 参照 (Visual Basic では Nothing) です。 |
SecurityException | 呼び出し元に、必要なアクセス許可がありません。 |
ArgumentException | path に、"、<、>、| などの無効な文字が含まれています。. |
PathTooLongException | 指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満、ファイル名は 260 文字未満にする必要があります。指定したパス、またはファイル名、またはその両方が長すぎます。パスは 248 文字未満、ファイル名は 260 文字未満にする必要があります。 |
解説
このコンストラクタは、ディレクトリが存在するかどうかのチェックは行いません。このコンストラクタは、以降の操作でディスクへのアクセスに使用される文字列のプレースホルダです。
path パラメータにはファイル名も指定できます。このファイルには、UNC 共有のファイルも含まれます。
注意 特定のカルチャ設定で文字セットをコンパイルし、同じ文字を異なるカルチャ設定で取得すると、文字が正しく解釈されない場合があり、例外がスローされることもあります。
このメソッドの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。
実行するタスク | 参考例があるトピック |
---|---|
テキスト ファイルを作成する。 | ファイルへのテキストの書き込み |
テキスト ファイルに書き込む。 | ファイルへのテキストの書き込み |
テキスト ファイルから読み取る。 | ファイルからのテキストの読み取り |
ディレクトリをコピーする。 | Directory |
ディレクトリの名前を変更、またはディレクトリを移動する。 | Directory.Move |
ディレクトリを削除する。 | Directory.Delete |
ディレクトリを作成する。 | CreateDirectory |
サブディレクトリを作成する。 | CreateSubdirectory |
ディレクトリ内のファイルを参照する。 | Name |
ディレクトリ内のサブディレクトリを参照する。 | GetDirectories |
ディレクトリ内のすべてのサブディレクトリにあるすべてのファイルを参照する。 | GetFileSystemInfos |
ディレクトリのサイズを取得する。 | Directory |
ファイルが存在するかどうかを判別する。 | Exists |
ディレクトリ内のファイルをサイズ順に並べ替える。 | GetFileSystemInfos |
ディレクトリが存在するかどうかを判別する。 | Exists |
使用例
[Visual Basic, C#, C++] 指定したディレクトリとサブディレクトリをこのコンストラクタを使用して作成し、さらにサブディレクトリを含むディレクトリが削除できないようすを表す例を次に示します。
Imports System
Imports System.IO
Public Class Test
Public Shared Sub Main()
' Specify the directories you want to manipulate.
Dim di1 As DirectoryInfo = New DirectoryInfo("c:\MyDir")
Dim di2 As DirectoryInfo = New DirectoryInfo("c:\MyDir\temp")
Try
' Create the directories.
di1.Create()
di2.Create()
' This operation will not be allowed because there are subdirectories.
Console.WriteLine("I am about to attempt to delete {0}.", di1.Name)
di1.Delete()
Console.WriteLine("The Delete operation was successful, which was unexpected.")
Catch e As Exception
Console.WriteLine("The Delete operation failed as expected.")
End Try
End Sub
End Class
[C#]
using System;
using System.IO;
class Test
{
public static void Main()
{
// Specify the directories you want to manipulate.
DirectoryInfo di1 = new DirectoryInfo(@"c:\MyDir");
DirectoryInfo di2 = new DirectoryInfo(@"c:\MyDir\temp");
try
{
// Create the directories.
di1.Create();
di2.Create();
// This operation will not be allowed because there are subdirectories.
Console.WriteLine("I am about to attempt to delete {0}.", di1.Name);
di1.Delete();
Console.WriteLine("The Delete operation was successful, which was unexpected.");
}
catch (Exception)
{
Console.WriteLine("The Delete operation failed as expected.");
}
finally {}
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::IO;
int main() {
// Specify the directories you want to manipulate.
DirectoryInfo* di1 = new DirectoryInfo(S"c:\\MyDir");
DirectoryInfo* di2 = new DirectoryInfo(S"c:\\MyDir\\temp");
try {
// Create the directories.
di1->Create();
di2->Create();
// This operation will not be allowed because there are subdirectories.
Console::WriteLine(S"I am about to attempt to delete {0}.", di1->Name);
di1->Delete();
Console::WriteLine(S"The Delete operation was successful, which was unexpected.");
} catch (Exception*) {
Console::WriteLine(S"The Delete operation failed as expected.");
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
.NET Framework セキュリティ:
- FileIOPermission (ファイルやディレクトリから読み取りを行うために必要なアクセス許可) FileIOPermissionAccess.Read (関連する列挙体)
参照
DirectoryInfo クラス | DirectoryInfo メンバ | System.IO 名前空間 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み