次の方法で共有


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

DirectoryInfo.MoveTo

ディレクトリを削除する。 Directory.Delete

DirectoryInfo.Delete

ディレクトリを作成する。 CreateDirectory

Directory

サブディレクトリを作成する。 CreateSubdirectory
ディレクトリ内のファイルを参照する。 Name
ディレクトリ内のサブディレクトリを参照する。 GetDirectories

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 セキュリティ:

参照

DirectoryInfo クラス | DirectoryInfo メンバ | System.IO 名前空間 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み