FileSystemInfo クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public MustInherit Class FileSystemInfo Inherits MarshalByRefObject Implements ISerializable
[SerializableAttribute] [ComVisibleAttribute(true)] public abstract class FileSystemInfo : MarshalByRefObject, ISerializable
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class FileSystemInfo abstract : public MarshalByRefObject, ISerializable
FileSystemInfo クラスには、ファイルとディレクトリの操作のために一般的に使用されるメソッドが含まれています。FileSystemInfo オブジェクトは、ファイルまたはディレクトリのいずれでも表すことができるため、FileInfo オブジェクトまたは DirectoryInfo オブジェクトの基盤として機能します。多数のファイルとディレクトリを解析する場合は、この基本クラスを使用します。
FileSystemInfo では、最初に呼び出されたときに Refresh を呼び出し、属性の取得などを行う API に関するキャッシュされた情報を返します。以降の呼び出しでは、Refresh を呼び出して、最新の情報を取得する必要があります。
派生クラスは、FileIOPermissionAccess 列挙体からの AllAccess アクセス許可を持つ場合にだけ、FileSystemInfo から継承できます。
パスを受け入れるメンバでは、ファイルまたはディレクトリを参照するパスを指定できます。指定するパスは、相対パス、またはサーバーおよび共有名を示す 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 タスクの例を次の表に示します。
File.AppendText FileInfo.AppendText | |
File.Delete FileInfo.Delete | |
File.Move FileInfo.MoveTo | |
File.Copy FileInfo.CopyTo | |
Directory.CreateDirectory System.IO.DirectoryInfo | |
CreateSubdirectory | |
Directory.Move DirectoryInfo.MoveTo | |
Directory.Delete DirectoryInfo.Delete | |
GetFileSystemInfos | |
GetDirectories GetDirectories | |
GetFileSystemInfos | |
FileInfo.Length | |
File.GetAttributes | |
File.SetAttributes | |
Path.GetExtension | |
Path.GetFullPath | |
Path.GetFileName | |
Path.ChangeExtension |
すべてのファイルおよびディレクトリをループして、各エントリに関する情報を照会する方法の例を次に示します。
Imports System.IO Module Module1 Sub Main() ' Loop through all the immediate subdirectories of C. For Each entry As String In Directory.GetDirectories("C:\") DisplayFileSystemInfoAttributes(New DirectoryInfo(entry)) Next ' Loop through all the files in C. For Each entry As String In Directory.GetFiles("C:\") DisplayFileSystemInfoAttributes(New FileInfo(entry)) Next End Sub Sub DisplayFileSystemInfoAttributes(ByVal fsi As IO.FileSystemInfo) ' Assume that this entry is a file. Dim entryType As String = "File" ' Determine if this entry is really a directory. If (fsi.Attributes And FileAttributes.Directory) <> 0 Then entryType = "Directory" End If ' Show this entry's type, name, and creation date. Console.WriteLine("{0} entry {1} was created on {2:D}", _ entryType, fsi.FullName, fsi.CreationTime) End Sub End Module ' Output will vary based on contents of drive C. ' ' Directory entry C:\Documents and Settings was created on Tuesday, November 25, 2003 ' Directory entry C:\Inetpub was created on Monday, January 12, 2004 ' Directory entry C:\Program Files was created on Tuesday, November 25, 2003 ' Directory entry C:\RECYCLER was created on Tuesday, November 25, 2003 ' Directory entry C:\System Volume Information was created on Tuesday, November 2, 2003 ' Directory entry C:\WINDOWS was created on Tuesday, November 25, 2003 ' File entry C:\IO.SYS was created on Tuesday, November 25, 2003 ' File entry C:\MSDOS.SYS was created on Tuesday, November 25, 2003 ' File entry C:\pagefile.sys was created on Saturday, December 27, 2003
継承階層
System.MarshalByRefObject
System.IO.FileSystemInfo
System.IO.DirectoryInfo
System.IO.FileInfo
プラットフォーム
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- FileSystemInfo クラスのページへのリンク