FileSystemInfo クラス

定義

FileInfo オブジェクトと DirectoryInfo オブジェクトの両方の基本クラスを提供します。Provides the base class for both FileInfo and DirectoryInfo objects.

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
派生
属性
実装

次の例では、すべてのファイルとディレクトリをループ処理し、各エントリに関する情報を照会する方法を示します。The following example shows how to loop through all the files and directories, querying some information about each entry.

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クラスには、ファイルおよびディレクトリの操作に共通するメソッドが含まれています。The FileSystemInfo class contains methods that are common to file and directory manipulation. オブジェクトは、 FileSystemInfo ファイルまたはディレクトリのいずれかを表すことができるため、またはオブジェクトの基礎として機能し FileInfo DirectoryInfo ます。A FileSystemInfo object can represent either a file or a directory, thus serving as the basis for FileInfo or DirectoryInfo objects. この基本クラスは、多数のファイルとディレクトリを解析する場合に使用します。Use this base class when parsing a lot of files and directories.

派生クラスは、 FileSystemInfo 派生クラスが列挙体からの AllAccess アクセス許可を持っている場合にのみ、から継承でき FileIOPermissionAccess ます。A derived class can inherit from FileSystemInfo only if the derived class has the AllAccess permission from the FileIOPermissionAccess enumeration.

パスを受け入れるメンバーでは、ファイルまたはディレクトリのみを参照できます。In members that accept a path, the path can refer to a file or just a directory. 指定されたパスは、サーバーと共有名の相対パスまたは UNC (汎用名前付け規則) パスを参照することもできます。The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. たとえば、次のすべてが許容されるパスです。For example, all the following are acceptable paths:

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

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

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

  • \ \ \ C# の "\ MyServer \ \MyShare"、または \ Visual Basic の "「\myserver\myshare」"。"\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

共通 I/O タスクの一覧は、 共通 I/O タスク を参照してください。For a list of common I/O tasks, see Common I/O Tasks.

コンストラクター

FileSystemInfo()

FileSystemInfo クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemInfo class.

FileSystemInfo(SerializationInfo, StreamingContext)

シリアル化したデータを使用して、FileSystemInfo クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemInfo class with serialized data.

フィールド

FullPath

ディレクトリまたはファイルの絶対パスを表します。Represents the fully qualified path of the directory or file.

OriginalPath

パスは、以前にユーザーが相対パスまたは絶対パスで指定したものです。The path originally specified by the user, whether relative or absolute.

プロパティ

Attributes

現在のファイルまたはディレクトリの属性を取得または設定します。Gets or sets the attributes for the current file or directory.

CreationTime

現在のファイルまたはディレクトリの作成日時を取得または設定します。Gets or sets the creation time of the current file or directory.

CreationTimeUtc

現在のファイルまたはディレクトリの作成日時を世界協定時刻 (UTC) で取得または設定します。Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.

Exists

ファイルまたはディレクトリが存在するかどうかを示す値を取得します。Gets a value indicating whether the file or directory exists.

Extension

ファイルの拡張子部分を表す文字列を取得します。Gets the string representing the extension part of the file.

FullName

ディレクトリまたはファイルの絶対パスを取得します。Gets the full path of the directory or file.

LastAccessTime

現在のファイルまたはディレクトリに最後にアクセスした時刻を取得または設定します。Gets or sets the time the current file or directory was last accessed.

LastAccessTimeUtc

現在のファイルまたはディレクトリに最後にアクセスした時刻を世界協定時刻 (UTC) で取得または設定します。Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed.

LastWriteTime

現在のファイルまたはディレクトリに最後に書き込みが行われた時刻を取得または設定します。Gets or sets the time when the current file or directory was last written to.

LastWriteTimeUtc

現在のファイルまたはディレクトリに最後に書き込みが行われた時刻を世界協定時刻 (UTC) で取得または設定します。Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.

Name

ファイルの場合は、そのファイルの名前を取得します。For files, gets the name of the file. ディレクトリの場合は、階層が存在する場合は、その階層内にある最後のディレクトリの名前を取得します。For directories, gets the name of the last directory in the hierarchy if a hierarchy exists. それ以外の場合は、Name プロパティはそのディレクトリの名前を取得します。Otherwise, the Name property gets the name of the directory.

メソッド

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
Delete()

ファイルまたはディレクトリを削除します。Deletes a file or directory.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

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

ファイル名と追加の例外情報を使用して SerializationInfo オブジェクトを設定します。Sets the SerializationInfo object with the file name and additional exception information.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
Refresh()

オブジェクトの状態を更新します。Refreshes the state of the object.

ToString()

元のパスを返します。Returns the original path. 完全なパスの FullName または Name のプロパティ、またはファイル名またはディレクトリ名を使用します。Use the FullName or Name properties for the full path or file/directory name.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください