DirectoryInfo クラス

2013/12/12

ディレクトリとサブディレクトリを作成、削除、および列挙するためのインスタンス メソッドを公開します。このクラスは継承できません。

System.Object
  System.IO.FileSystemInfo
    System.IO.DirectoryInfo

Namespace:  System.IO
アセンブリ:  mscorlib (mscorlib.dll 内)

public sealed class DirectoryInfo : FileSystemInfo

DirectoryInfo 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドDirectoryInfoDirectoryInfo クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティAttributes現在の FileSystemInfoFileAttributes を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティCreationTime現在の FileSystemInfo オブジェクトの作成日時を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティExistsディレクトリが存在するかどうかを示す値を取得します。 (FileSystemInfo.Exists をオーバーライドします。)
パブリック プロパティExtensionファイルの拡張子部分を表す文字列を取得します。 (FileSystemInfo から継承されます。)
パブリック プロパティFullNameディレクトリまたはファイルの絶対パスを取得します。 (FileSystemInfo から継承されます。)
パブリック プロパティLastAccessTime現在のファイルまたはディレクトリに最後にアクセスした時刻を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティLastWriteTime現在のファイルまたはディレクトリに最後に書き込みが行われた時刻を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティNameDirectoryInfo の現在のインスタンスの名前を取得します。 (FileSystemInfo.Name をオーバーライドします。)
パブリック プロパティParent指定されたサブディレクトリの親ディレクトリを取得します。
パブリック プロパティRootパスのルート部分を取得します。
このページのトップへ

  名前説明
パブリック メソッドCreateディレクトリを作成します。
パブリック メソッドCreateSubdirectory指定したパスに 1 つ以上のサブディレクトリを作成します。
パブリック メソッドDelete()DirectoryInfo が空の場合に、そのインスタンスを削除します。 (FileSystemInfo.Delete() をオーバーライドします。)
パブリック メソッドDelete(Boolean)中に含まれているサブディレクトリとファイルを削除するかどうかを指定して、DirectoryInfo のインスタンスを削除します。
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetDirectories()現在のディレクトリのサブディレクトリを返します。
パブリック メソッドGetDirectories(String)現在の DirectoryInfo 内にあり、指定した検索基準に一致するディレクトリの配列を返します。
パブリック メソッドGetFiles()現在のディレクトリからファイル一覧を返します。
パブリック メソッドGetFiles(String)現在のディレクトリから、指定した searchPattern に一致するファイル一覧を返します。
パブリック メソッドGetFileSystemInfos()ディレクトリ内のすべてのファイルとサブディレクトリを表す、厳密に型指定された FileSystemInfo エントリの配列を返します。
パブリック メソッドGetFileSystemInfos(String)指定した検索条件に一致するファイルおよびサブディレクトリを表す、厳密に型指定された FileSystemInfo オブジェクトの配列を取得します。
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドMoveToDirectoryInfo のインスタンスとその内容を新しいパスに移動します。
パブリック メソッドRefreshオブジェクトの状態を更新します。 (FileSystemInfo から継承されます。)
パブリック メソッドToStringユーザーから渡された元のパスを返します。 (Object.ToString() をオーバーライドします。)
このページのトップへ

  名前説明
プロテクト フィールドFullPathインフラストラクチャ。 ディレクトリまたはファイルの絶対パスを表します。 (FileSystemInfo から継承されます。)
プロテクト フィールドOriginalPathインフラストラクチャ。 パスは、以前にユーザーが相対パスまたは絶対パスで指定したものです。 (FileSystemInfo から継承されます。)
このページのトップへ

DirectoryInfo クラスは、ディレクトリのコピー、移動、名前変更、作成、削除などの一般的な操作に使用します。

オブジェクトを何回か再利用する場合は、必ずしもセキュリティ チェックが必要ではなくなるため、Directory の対応する静的メソッドの代わりに DirectoryInfo のインスタンス メソッドを使用することを検討してください。

メモメモ:

入力文字列としてパスを受け入れるメンバーでは、そのパスが正しい書式である必要があります。それ以外の場合は、例外が発生します。たとえば、完全修飾パスであっても空白で始まっている場合、そのパスはクラスのメソッドではトリムされません。このため、パスが正しい書式にならず、例外が発生します。同様に、1 つのパスまたは複数のパスの組み合わせを完全修飾パスとして 2 度指定することはできません。たとえば、"c:\temp c:\windows" でも、ほとんどの場合において例外が発生します。パス文字列を受け入れるメソッドを使用する場合は、パスが正しい書式であることを確認してください。

パスを受け入れるメンバーでは、パスでファイルまたはディレクトリを参照できます。

バージョンについてのメモ

Windows Phone

この型は、Windows Phone で .NET Compact Framework インフラストラクチャをサポートするために提供されています。アプリケーション コードで使用するためではありません。

次の例では、ユーザーの [マイ ピクチャ] フォルダーからランダムに選択されたイメージが表示されます。DirectoryInfo クラスを使用して、拡張子が .jpg または .png のファイルを表す FileInfo オブジェクトの列挙可能なコレクションを取得します。そのコレクションを使用してList<T> コレクションが作成され、そのインデックスを使用して、ランダムな番号に対応するファイルを選択できるようになります。

この例は、次に、FileStream クラスを使用してビットマップ イメージを作成し、それを Image コントロールのソースとして設定します (MyImage と呼ばれます)。


private void LoadImage()
{

	DirectoryInfo di = new DirectoryInfo(Environment.GetFolderPath(
		Environment.SpecialFolder.MyPictures));

	var files = from f in di.EnumerateFiles()
				where f.Extension.ToLower() == ".jpg" || 
					f.Extension == ".png"
				select f;

	int max = files.Count() + 1;

	Random rnd = new Random();
	int r = rnd.Next(0, max);

	List<FileInfo> pics = new List<FileInfo>(files);

	string randpic = pics[r].FullName;

	BitmapImage img = new BitmapImage();
	img.SetSource(new FileStream(randpic, FileMode.Open));

	MyImage.Source = img;

	
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2014 Microsoft