DirectoryInfo クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public NotInheritable Class DirectoryInfo Inherits FileSystemInfo
[SerializableAttribute] [ComVisibleAttribute(true)] public sealed class DirectoryInfo : FileSystemInfo
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class DirectoryInfo sealed : public 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 タスクの例を次の表に示します。
Directory.Move DirectoryInfo.MoveTo | |
Directory.Delete DirectoryInfo.Delete | |
CreateDirectory | |
CreateSubdirectory | |
GetDirectories GetDirectories | |
GetFileSystemInfos | |
GetFileSystemInfos | |
Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows 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.MarshalByRefObject
System.IO.FileSystemInfo
System.IO.DirectoryInfo
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
DirectoryInfo コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)
構文
例外
このコンストラクタは、ディレクトリが存在するかどうかのチェックは行いません。このコンストラクタは、以降の操作でディスクへのアクセスに使用される文字列のプレースホルダです。
path パラメータにはファイル名も指定できます。このファイルには、UNC 共有のファイルも含まれます。
注意 |
---|
特定のカルチャ設定で文字セットをコンパイルし、同じ文字を異なるカルチャ設定で取得すると、文字が正しく解釈されない場合があり、例外がスローされることもあります。 |
その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。
Directory.Move DirectoryInfo.MoveTo | |
Directory.Delete DirectoryInfo.Delete | |
CreateDirectory | |
CreateSubdirectory | |
GetDirectories GetDirectories | |
GetFileSystemInfos | |
GetFileSystemInfos | |
指定したディレクトリとサブディレクトリをこのコンストラクタを使用して作成し、さらにサブディレクトリを含むディレクトリが削除できないようすを表す例を次に示します。
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
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.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 メソッド
パブリック メソッド
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 | パスのルート部分を取得します。 |
Weblioに収録されているすべての辞書からDirectoryInfoを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からDirectoryInfo を検索
- DirectoryInfoのページへのリンク