エクスポート (0) 印刷
すべて展開
この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。
訳文
原文

FileInfo クラス

更新 : 2010 年 8 月

ファイルを作成、コピー、削除、移動、および開くためのプロパティおよびインスタンス メソッドを提供し、FileStream オブジェクトを作成できるようにします。 このクラスは継承できません。

名前空間:  System.IO
アセンブリ:  mscorlib (mscorlib.dll 内)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileInfo : FileSystemInfo

FileInfo 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドXNA Framework によるサポートFileInfoファイル パスのラッパーとして機能する、FileInfo クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティXNA Framework によるサポートAttributes現在のファイルまたはディレクトリの属性を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートCreationTime現在のファイルまたはディレクトリの作成日時を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティCreationTimeUtc現在のファイルまたはディレクトリの作成日時を世界協定時刻 (UTC) で取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートDirectory親ディレクトリのインスタンスを取得します。
パブリック プロパティXNA Framework によるサポートDirectoryNameディレクトリの絶対パスを表す文字列を取得します。
パブリック プロパティXNA Framework によるサポートExistsファイルが存在するかどうかを示す値を取得します。 (FileSystemInfo.Exists をオーバーライドします。)
パブリック プロパティXNA Framework によるサポートExtensionファイルの拡張子部分を表す文字列を取得します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートFullNameディレクトリまたはファイルの絶対パスを取得します。 (FileSystemInfo から継承されます。)
パブリック プロパティIsReadOnly現在のファイルが読み取り専用であるかどうかを判断する値を取得または設定します。
パブリック プロパティXNA Framework によるサポートLastAccessTime現在のファイルまたはディレクトリに最後にアクセスした時刻を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティLastAccessTimeUtc現在のファイルまたはディレクトリに最後にアクセスした時刻を世界協定時刻 (UTC) で取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートLastWriteTime現在のファイルまたはディレクトリに最後に書き込みが行われた時刻を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティLastWriteTimeUtc現在のファイルまたはディレクトリに最後に書き込みが行われた時刻を世界協定時刻 (UTC) で取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートLength現在のファイルのサイズをバイト単位で取得します。
パブリック プロパティXNA Framework によるサポートNameファイルの名前を取得します。 (FileSystemInfo.Name をオーバーライドします。)
このページのトップへ

  名前説明
パブリック メソッドXNA Framework によるサポートAppendText FileInfo のインスタンスが表すファイルの末尾にテキストを追加する StreamWriter を作成します。
パブリック メソッドXNA Framework によるサポートCopyTo(String)既存のファイルを上書きできないようにして、既存のファイルを新しいファイルにコピーします。
パブリック メソッドXNA Framework によるサポートCopyTo(String, Boolean)既存のファイルを上書きできるようにして、既存のファイルを新しいファイルにコピーします。
パブリック メソッドXNA Framework によるサポートCreateファイルを作成します。
パブリック メソッドCreateObjRefリモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッドXNA Framework によるサポートCreateText新しいテキスト ファイルに書き込みを行う StreamWriter を作成します。
パブリック メソッドDecrypt Encrypt メソッドを使用して現在のアカウントによって暗号化されたファイルを復号化します。
パブリック メソッドXNA Framework によるサポートDeleteファイルを完全に削除します。 (FileSystemInfo.Delete() をオーバーライドします。)
パブリック メソッドEncryptファイルの暗号化に使用したアカウントだけが復号化できるようにファイルを暗号化します。
パブリック メソッドXNA Framework によるサポートEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドXNA Framework によるサポートFinalize オブジェクトがガベジ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetAccessControl()現在の FileInfo オブジェクトが示すファイルのアクセス制御リスト (ACL) エントリをカプセル化する FileSecurity オブジェクトを取得します。
パブリック メソッドGetAccessControl(AccessControlSections)現在の FileInfo オブジェクトが示すファイルの、指定した種類のアクセス制御リスト (ACL) エントリをカプセル化する FileSecurity オブジェクトを取得します。
パブリック メソッドXNA Framework によるサポートGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetLifetimeService対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッドGetObjectDataファイル名と追加の例外情報を使用して SerializationInfo オブジェクトを設定します。 (FileSystemInfo から継承されます。)
パブリック メソッドXNA Framework によるサポートGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドInitializeLifetimeService対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
プロテクト メソッドXNA Framework によるサポートMemberwiseClone()現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone(Boolean)現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッドXNA Framework によるサポートMoveTo指定したファイルを新しい場所に移動します。オプションで新しいファイル名を指定することもできます。
パブリック メソッドXNA Framework によるサポートOpen(FileMode)指定したモードでファイルを開きます。
パブリック メソッドXNA Framework によるサポートOpen(FileMode, FileAccess)読み取り可、書き込み可、または読み書き込み可などのアクセス権を指定し、指定したモードでファイルを開きます。
パブリック メソッドXNA Framework によるサポートOpen(FileMode, FileAccess, FileShare)読み取り可、書き込み可、読み書き可などのアクセス権を指定し、指定したモードと共有オプションでファイルを開きます。
パブリック メソッドXNA Framework によるサポートOpenRead読み取り専用の FileStream を作成します。
パブリック メソッドXNA Framework によるサポートOpenText既存のテキスト ファイルからの読み取りを行う、UTF8 エンコーディングの StreamReader を作成します。
パブリック メソッドXNA Framework によるサポートOpenWrite書き込み専用の FileStream を作成します。
パブリック メソッドXNA Framework によるサポートRefreshオブジェクトの状態を更新します。 (FileSystemInfo から継承されます。)
パブリック メソッドReplace(String, String)指定したファイルの内容を現在の FileInfo オブジェクトが示すファイルと置き換え、元のファイルを削除し、置き換えられたファイルのバックアップを作成します。
パブリック メソッドReplace(String, String, Boolean)指定したファイルの内容を現在の FileInfo オブジェクトが示すファイルと置き換え、元のファイルを削除し、置き換えられたファイルのバックアップを作成します。 また、マージ エラーを無視するかどうかも指定します。
パブリック メソッドSetAccessControl FileSecurity オブジェクトが示すアクセス制御リスト (ACL) エントリを、現在の FileInfo オブジェクトが示すファイルに適用します。
パブリック メソッドXNA Framework によるサポートToStringこのパスを文字列として返します。 (Object.ToString() をオーバーライドします。)
このページのトップへ

  名前説明
プロテクト フィールドXNA Framework によるサポートFullPathディレクトリまたはファイルの絶対パスを表します。 (FileSystemInfo から継承されます。)
プロテクト フィールドXNA Framework によるサポートOriginalPathパスは、以前にユーザーが相対パスまたは絶対パスで指定したものです。 (FileSystemInfo から継承されます。)
このページのトップへ

FileInfo クラスは、ファイルのコピー、移動、名前変更、作成、オープン、削除、内容の追加などの一般的な操作に使用します。

FileInfo のメソッドの多くは、ファイルを作成またはオープンしたときにそれぞれに異なる I/O 型を返します。 これらの型は、以降のファイル操作に使用できます。 詳細については、OpenOpenReadOpenTextCreateTextCreate などの具体的な FileInfo メンバーのトピックを参照してください。

オブジェクトを何回か再利用する場合は、必ずしもセキュリティ チェックが必要ではなくなるため、File の対応する静的メソッドの代わりに FileInfo のインスタンス メソッドを使用することを検討してください。

既定では、すべてのユーザーに、新しいファイルに対する完全な読み書きアクセス権が与えられます。

さまざまな FileInfo メソッドの動作をカスタマイズするために使用する列挙体を次の表に示します。

列挙型

説明

FileAccess

ファイルへの読み取りと書き込みのアクセスを指定します。

FileShare

既に使用中のファイルに対するアクセス許可レベルを指定します。

FileMode

既存のファイルの内容を保持または上書きするか、既存のファイルの作成要求が例外となるかどうかを指定します。

メモメモ

入力文字列としてパスを受け入れるメンバーでは、そのパスが正しい書式である必要があります。それ以外の場合は、例外が発生します。 たとえば、パスが絶対パスであっても空白で始まっている場合、そのパスはクラスのメソッドではトリムされません。 このため、パスが正しい書式にならず、例外が発生します。 同様に、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"。

FileInfo クラスには、ファイルについての情報を取得できるようにする次のプロパティが用意されています。 各プロパティの使用例については、プロパティ ページを参照してください。

  • Directory プロパティは、ファイルの親ディレクトリを表すオブジェクトを取得します。

  • DirectoryName プロパティは、ファイルの親ディレクトリの完全パスを取得します。

  • Exists プロパティは、ファイルを操作する前に、そのファイルの存在をチェックします。

  • IsReadOnly  プロパティは、ファイルを変更できるかどうかを指定する値を取得または設定します。

  • Length はファイルのサイズを取得します。

  • Name は、ファイルの名前を取得します。

FileInfo クラスの主要なメンバーの例を次に示します。

プロパティが最初に取得されるとき、FileInfoRefresh メソッドを呼び出し、ファイルに関する情報をキャッシュします。 以降の呼び出しでは、Refresh を呼び出して、最新の情報を取得する必要があります。


using System;
using System.IO;

class Test 
{
	
    public static void Main() 
    {
        string path = Path.GetTempFileName();
        FileInfo fi1 = new FileInfo(path);

        //Create a file to write to.
        using (StreamWriter sw = fi1.CreateText()) 
        {
            sw.WriteLine("Hello");
            sw.WriteLine("And");
            sw.WriteLine("Welcome");
        }	

        //Open the file to read from.
        using (StreamReader sr = fi1.OpenText()) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }

        try 
        {
            string path2 = Path.GetTempFileName();
            FileInfo fi2 = new FileInfo(path2);

            //Ensure that the target does not exist.
            fi2.Delete();

            //Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            //Delete the newly created file.
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}


.NET Framework

サポート対象: 4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象: 4、3.5 SP1

Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

Date

History

理由

2010 年 8 月

プロパティに関する情報を含むように解説が更新されました。

情報の拡充

コミュニティの追加

追加
表示:
© 2014 Microsoft