FileSystemInfo クラス

定義

FileInfo オブジェクトと DirectoryInfo オブジェクトの両方の基本クラスを提供します。

public ref class FileSystemInfo abstract
public ref class FileSystemInfo abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public abstract class FileSystemInfo
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type FileSystemInfo = class
type FileSystemInfo = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
type FileSystemInfo = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileSystemInfo = class
    inherit MarshalByRefObject
    interface ISerializable
Public MustInherit Class FileSystemInfo
Public MustInherit Class FileSystemInfo
Inherits MarshalByRefObject
Implements ISerializable
継承
FileSystemInfo
継承
FileSystemInfo
派生
属性
実装

次の例は、すべてのファイルとディレクトリをループ処理し、各エントリに関する情報を照会する方法を示しています。

using namespace System;
using namespace System::IO;


namespace ConsoleApplication2
{
    public ref class Program
    {
    public:
        static void Main()
        {
            //  Loop through all the immediate subdirectories of C.
            for each (String^ entry in Directory::GetDirectories("C:\\"))
            {
                DisplayFileSystemInfoAttributes(gcnew DirectoryInfo(entry));
            }
            //  Loop through all the files in C.
            for each (String^ entry in Directory::GetFiles("C:\\"))
            {
                DisplayFileSystemInfoAttributes(gcnew FileInfo(entry));
            }
        }
        static void DisplayFileSystemInfoAttributes(FileSystemInfo^ fsi)
        {
            //  Assume that this entry is a file.
            String^ entryType = "File";

            // Determine if entry is really a directory
            if ((fsi->Attributes & FileAttributes::Directory) == FileAttributes::Directory)
            {
                entryType = "Directory";
            }
            //  Show this entry's type, name, and creation date.
            Console::WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi->FullName, fsi->CreationTime);
        }
    };
};

int main()
{
    ConsoleApplication2::Program::Main();
}

 // 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
using System;
using System.IO;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            //  Loop through all the immediate subdirectories of C.
            foreach (string entry in Directory.GetDirectories(@"C:\"))
            {
                DisplayFileSystemInfoAttributes(new DirectoryInfo(entry));
            }
            //  Loop through all the files in C.
            foreach (string entry in Directory.GetFiles(@"C:\"))
            {
                DisplayFileSystemInfoAttributes(new FileInfo(entry));
            }
        }
        static void DisplayFileSystemInfoAttributes(FileSystemInfo fsi)
        {
            //  Assume that this entry is a file.
            string entryType = "File";

            // Determine if entry is really a directory
            if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory )
            {
                entryType = "Directory";
            }
            //  Show this entry's type, name, and creation date.
            Console.WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi.FullName, fsi.CreationTime);
        }
    }
}

 // 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
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) = FileAttributes.Directory 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

注釈

クラス FileSystemInfo には、ファイルとディレクトリの操作に共通するメソッドが含まれます。 オブジェクト FileSystemInfo は、ファイルまたはディレクトリを表す可能性があります。したがって、 オブジェクトまたは オブジェクトの基礎 FileInfo として使用 DirectoryInfo できます。 多くのファイルとディレクトリを解析する場合は、この基本クラスを使用します。

派生クラスは、派生クラスが 列挙体から AllAccess 権限を持つ FileSystemInfo 場合にのみ、 から継承 FileIOPermissionAccess できます。

パスを受け入れるメンバーでは、パスはファイルを参照するか、単にディレクトリを参照できます。 指定したパスは、サーバーと共有名の相対パスまたは UNC (Universal Naming Convention) パスを参照することもできます。 たとえば、次のすべてが許容されるパスです。

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

  • C# の \ "c: \MyDir"、または C# の "c:\MyDir" Visual Basic。

  • C# の \ "MyDir \MySubdir"、または C# の "MyDir\MySubDir" Visual Basic。

  • C# \ \ \ の "\MyServer \ \MyShare"、または C# の \ "\MyServer\MyShare" Visual Basic。

共通 I/O タスクの一覧は、 共通 I/O タスク を参照してください。

コンストラクター

FileSystemInfo()

FileSystemInfo クラスの新しいインスタンスを初期化します。

FileSystemInfo(SerializationInfo, StreamingContext)

シリアル化したデータを使用して、FileSystemInfo クラスの新しいインスタンスを初期化します。

フィールド

FullPath

ディレクトリまたはファイルの絶対パスを表します。

OriginalPath

パスは、以前にユーザーが相対パスまたは絶対パスで指定したものです。

プロパティ

Attributes

現在のファイルまたはディレクトリの属性を取得または設定します。

CreationTime

現在のファイルまたはディレクトリの作成日時を取得または設定します。

CreationTimeUtc

現在のファイルまたはディレクトリの作成日時を世界協定時刻 (UTC) で取得または設定します。

Exists

ファイルまたはディレクトリが存在するかどうかを示す値を取得します。

Extension

先頭のドットを含むファイル名の拡張部分を取得し ます。 ファイル名全体であっても、拡張子が存在しない場合は空の文字列。

FullName

ディレクトリまたはファイルの絶対パスを取得します。

LastAccessTime

現在のファイルまたはディレクトリに最後にアクセスした時刻を取得または設定します。

LastAccessTimeUtc

現在のファイルまたはディレクトリに最後にアクセスした時刻を世界協定時刻 (UTC) で取得または設定します。

LastWriteTime

現在のファイルまたはディレクトリに最後に書き込みが行われた時刻を取得または設定します。

LastWriteTimeUtc

現在のファイルまたはディレクトリに最後に書き込みが行われた時刻を世界協定時刻 (UTC) で取得または設定します。

LinkTarget

この FileSystemInfo インスタンスがリンクを表している場合は、リンク先のパスを返します。 リンクがに存在しない場合、 FullName またはこのインスタンスがリンクを表していない場合、はを返し null ます。

Name

ファイルの場合は、そのファイルの名前を取得します。 ディレクトリの場合は、階層が存在する場合は、その階層内にある最後のディレクトリの名前を取得します。 それ以外の場合は、Name プロパティはそのディレクトリの名前を取得します。

メソッド

CreateAsSymbolicLink(String)

指定した を指す に位置 FullName するシンボリック リンクを作成します pathToTarget

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Delete()

ファイルまたはディレクトリを削除します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
互換性のために残されています。

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

ファイル名と追加の例外情報を使用して SerializationInfo オブジェクトを設定します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
互換性のために残されています。

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
Refresh()

オブジェクトの状態を更新します。

ResolveLinkTarget(Boolean)

指定されたリンクのターゲットを取得します。

ToString()

元のパスを返します。 完全なパスの FullName または Name のプロパティ、またはファイル名またはディレクトリ名を使用します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください