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ファイルまたはディレクトリを表すことができるため、オブジェクトの基礎FileInfoDirectoryInfoとして機能します。 多数のファイルとディレクトリを解析する場合は、この基本クラスを使用します。

派生クラスは、派生クラスに列挙型の FileSystemInfo AllAccess アクセス許可がある場合にのみ継承 FileIOPermissionAccess できます。

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

  • 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 タスク を参照してください。

コンストラクター

FileSystemInfo()

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

FileSystemInfo(SerializationInfo, StreamingContext)

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

フィールド

FullPath

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

OriginalPath

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

プロパティ

Attributes

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

CreationTime

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

CreationTimeUtc

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

Exists

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

Extension

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

FullName

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

LastAccessTime

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

LastAccessTimeUtc

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

LastWriteTime

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

LastWriteTimeUtc

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

LinkTarget

このインスタンスがリンクを表していない場合FileSystemInfo、またはnullこのインスタンスにあるリンクのFullNameターゲット パスを取得します。

Name

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

UnixFileMode

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

メソッド

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)

適用対象

こちらもご覧ください