DirectoryInfoとは? わかりやすく解説

DirectoryInfo クラス

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

名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 DirectoryInfo
    Inherits FileSystemInfo
Dim instance As DirectoryInfo
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class DirectoryInfo : FileSystemInfo
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class DirectoryInfo sealed : public
 FileSystemInfo
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class DirectoryInfo extends FileSystemInfo
SerializableAttribute 
ComVisibleAttribute(true) 
public final class DirectoryInfo extends
 FileSystemInfo
解説解説

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

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

メモメモ

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

パス受け入れメンバでは、ファイルまたはディレクトリ参照するパス指定できます指定するパスは、相対パス、またはサーバーおよび共有名を示す UNC (Universal Naming Convention) パスにすることができます。たとえば、次に示すパスはすべて有効なパスです。

  • C# では "c:\\MyDir\\MyFile.txt"、Visual Basic では "c:\MyDir\MyFile.txt"。

  • C# では "c:\\MyDir"、Visual Basic では "c:\MyDir"。

  • C# では "MyDir\\MySubdir"、Visual Basic では "MyDir\MySubDir"。

  • C# では "\\\\MyServer\\MyShare"、Visual Basic では "\\MyServer\MyShare"。

既定では、すべてのユーザーに、新しディレクトリ対する完全な読み書きアクセス権与えられます。

その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows CE プラットフォームメモ : デバイスファイル システムはぞれぞれ動作異なるため、.NET Compact Framework ではディレクトリ属性取得または設定サポートしていません。

使用例使用例

DirectoryInfo クラス主要なメンバの例を次に示します

Imports System
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        ' Specify the directories you want to manipulate.
        Dim di As DirectoryInfo = New
 DirectoryInfo("c:\MyDir")
        Try
            ' Determine whether the directory exists.
            If di.Exists Then
                ' Indicate that it already exists.
                Console.WriteLine("That path exists already.")
                Return
            End If

            ' Try to create the directory.
            di.Create()
            Console.WriteLine("The directory was created successfully.")

            ' Delete the directory.
            di.Delete()
            Console.WriteLine("The directory was deleted successfully.")

        Catch e As Exception
            Console.WriteLine("The process failed: {0}",
 e.ToString())
        End Try
    End Sub
End Class
using System;
using System.IO;

class Test 
{
    public static void Main()
 
    {
        // Specify the directories you want to manipulate.
        DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");
        try 
        {
            // Determine whether the directory exists.
            if (di.Exists) 
            {
                // Indicate that the directory already exists.
                Console.WriteLine("That path exists already.");
                return;
            }

            // Try to create the directory.
            di.Create();
            Console.WriteLine("The directory was created successfully.");

            // Delete the directory.
            di.Delete();
            Console.WriteLine("The directory was deleted successfully.");

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        } 
        finally {}
    }
}
using namespace System;
using namespace System::IO;
int main()
{
   
   // Specify the directories you want to manipulate.
   DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\MyDir" );
   try
   {
      
      // Determine whether the directory exists.
      if ( di->Exists )
      {
         
         // Indicate that the directory already exists.
         Console::WriteLine( "That path exists already." );
         return 0;
      }
      
      // Try to create the directory.
      di->Create();
      Console::WriteLine( "The directory was created successfully." );
      
      // Delete the directory.
      di->Delete();
      Console::WriteLine( "The directory was deleted successfully." );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }

}

import System.*;
import System.IO.*;

class Test
{
    public static void main(String[]
 args)
    {
        // Specify the directories you want to manipulate.
        DirectoryInfo di = new DirectoryInfo("c:\\MyDir");

        try {
            // Determine whether the directory exists.
            if (di.get_Exists()) {
                // Indicate that the directory already exists.
                Console.WriteLine("That path exists already.");
                return;
            }

            // Try to create the directory.
            di.Create();
            Console.WriteLine("The directory was created successfully.");

            // Delete the directory.
            di.Delete();
            Console.WriteLine("The directory was deleted successfully.");
        }
        catch (System.Exception e) {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
        finally {
        }
    } //main
} //Test

ディレクトリその内容コピーする方法の例を次に示します

継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.IO.FileSystemInfo
      System.IO.DirectoryInfo
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DirectoryInfo コンストラクタ

指定したパス対する、DirectoryInfo クラス新しインスタンス初期化します。

名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

public DirectoryInfo (
    string path
)
public:
DirectoryInfo (
    String^ path
)
public DirectoryInfo (
    String path
)
public function DirectoryInfo (
    path : String
)

パラメータ

path

DirectoryInfo作成する対象パス指定する文字列

例外例外
例外種類条件

ArgumentNullException

pathnull 参照 (Visual Basic では Nothing) です。

SecurityException

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

ArgumentException

path に、"、<、>、| などの無効な文字含まれています。

PathTooLongException

指定したパスファイル名、またはその両方システム定義の最大長を超えてます。たとえば、Windows ベースプラットフォーム場合パス長さ248 文字未満ファイル名長さ260 文字未満である必要があります指定したパスファイル名、またはその両方が長すぎます

解説解説

このコンストラクタは、ディレクトリ存在するかどうかチェック行いません。このコンストラクタは、以降操作ディスクへのアクセス使用される文字列のプレースホルダです。

path パラメータにはファイル名指定できます。このファイルには、UNC 共有ファイル含まれます。

注意に関するメモ注意

特定のカルチャ設定文字セットコンパイルし、同じ文字異なるカルチャ設定取得すると、文字正しく解釈されない場合があり、例外スローされることもあります

その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します

使用例使用例

指定したディレクトリサブディレクトリをこのコンストラクタ使用して作成し、さらにサブディレクトリを含むディレクトリ削除できないようすを表す例を次に示します

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
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 {}
    }
}
using namespace System;
using namespace System::IO;
int main()
{
   
   // Specify the directories you want to manipulate.
   DirectoryInfo^ di1 = gcnew DirectoryInfo( "c:\\MyDir" );
   DirectoryInfo^ di2 = gcnew 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." );
   }

}

import System.*;
import System.IO.*;

class Test
{
    public static void main(String[]
 args)
    {
        // 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.get_Name());
            di1.Delete();
            Console.WriteLine("The Delete operation was successful, "
                + "which was unexpected.");
        }
        catch (System.Exception exp) {
            Console.WriteLine("The Delete operation failed as expected.");
        }
        finally {
        }
    } //main
} //Test
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DirectoryInfo プロパティ


パブリック プロパティパブリック プロパティ

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

DirectoryInfo メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド Create オーバーロードされますディレクトリ作成します
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド CreateSubdirectory オーバーロードされます指定したパス1 つ上のサブディレクトリ作成しますパスは、この DirectoryInfo クラスインスタンス対す相対パス指定できます
パブリック メソッド Delete オーバーロードされますオーバーライドされますパスから DirectoryInfoその内容削除します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetAccessControl オーバーロードされます現在のディレクトリアクセス制御リスト (ACL) エントリを取得します
パブリック メソッド GetDirectories オーバーロードされます現在のディレクトリサブディレクトリ返します
パブリック メソッド GetFiles オーバーロードされます現在のディレクトリからファイル一覧を返します
パブリック メソッド GetFileSystemInfos オーバーロードされます現在のディレクトリファイルおよびサブディレクトリを表す、厳密に指定された FileSystemInfo オブジェクト配列取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetObjectData  ファイル名追加例外情報使用して SerializationInfo オブジェクト設定します。 ( FileSystemInfo から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド MoveTo DirectoryInfoインスタンスその内容新しパス移動します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Refresh  オブジェクトの状態を更新します。 ( FileSystemInfo から継承されます。)
パブリック メソッド SetAccessControl DirectorySecurity オブジェクトが示すアクセス制御リスト (ACL) エントリを、現在の DirectoryInfo オブジェクトが示すディレクトリ適用します。
パブリック メソッド ToString オーバーライドされますユーザーから渡された元のパス返します
参照参照

DirectoryInfo メンバ

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

DirectoryInfo データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド DirectoryInfo 指定したパス対する、DirectoryInfo クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ Attributes  現在の FileSystemInfo の FileAttributes を取得または設定します。(FileSystemInfo から継承されます。)
パブリック プロパティ CreationTime  現在の FileSystemInfo オブジェクトの作成日時取得または設定します。(FileSystemInfo から継承されます。)
パブリック プロパティ CreationTimeUtc  現在の FileSystemInfo オブジェクトの作成日時世界協定時刻 (UTC) で取得または設定します。(FileSystemInfo から継承されます。)
パブリック プロパティ Exists オーバーライドされますディレクトリ存在するかどうかを示す値を取得します
パブリック プロパティ Extension  ファイル拡張子部分を表す文字列を取得します。(FileSystemInfo から継承されます。)
パブリック プロパティ FullName  ディレクトリまたはファイル絶対パス取得します。(FileSystemInfo から継承されます。)
パブリック プロパティ LastAccessTime  現在のファイルまたはディレクトリ最後にアクセスした時刻取得または設定します。(FileSystemInfo から継承されます。)
パブリック プロパティ LastAccessTimeUtc  現在のファイルまたはディレクトリ最後にアクセスした時刻世界協定時刻 (UTC) で取得または設定します。(FileSystemInfo から継承されます。)
パブリック プロパティ LastWriteTime  現在のファイルまたはディレクトリ最後に書き込みが行われた時刻取得または設定します。(FileSystemInfo から継承されます。)
パブリック プロパティ LastWriteTimeUtc  現在のファイルまたはディレクトリ最後に書き込みが行われた時刻世界協定時刻 (UTC) で取得または設定します。(FileSystemInfo から継承されます。)
パブリック プロパティ Name オーバーライドされますDirectoryInfo現在のインスタンスの名前を取得します
パブリック プロパティ Root パスルート部分取得します
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド Create オーバーロードされますディレクトリ作成します
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド CreateSubdirectory オーバーロードされます指定したパス1 つ上のサブディレクトリ作成しますパスは、この DirectoryInfo クラスインスタンス対す相対パス指定できます
パブリック メソッド Delete オーバーロードされますオーバーライドされますパスから DirectoryInfoその内容削除します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetAccessControl オーバーロードされます現在のディレクトリアクセス制御リスト (ACL) エントリを取得します
パブリック メソッド GetDirectories オーバーロードされます現在のディレクトリサブディレクトリ返します
パブリック メソッド GetFiles オーバーロードされます現在のディレクトリからファイル一覧を返します
パブリック メソッド GetFileSystemInfos オーバーロードされます現在のディレクトリファイルおよびサブディレクトリを表す、厳密に指定された FileSystemInfo オブジェクト配列取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetObjectData  ファイル名追加例外情報使用して SerializationInfo オブジェクト設定します。 (FileSystemInfo から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド MoveTo DirectoryInfoインスタンスその内容新しパス移動します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Refresh  オブジェクトの状態を更新します。 (FileSystemInfo から継承されます。)
パブリック メソッド SetAccessControl DirectorySecurity オブジェクトが示すアクセス制御リスト (ACL) エントリを、現在の DirectoryInfo オブジェクトが示すディレクトリ適用します。
パブリック メソッド ToString オーバーライドされますユーザーから渡された元のパス返します
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DirectoryInfo」の関連用語

DirectoryInfoのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DirectoryInfoのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS