この記事の英語版を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語
このドキュメントはアーカイブされており、メンテナンスされていません。

File クラス

ファイルの作成、コピー、削除、移動、オープンのための静的メソッドを提供し、FileStream オブジェクトの作成を支援します。

System.Object
  System.IO.File

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

[ComVisibleAttribute(true)]
public static class File

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

  名前説明
パブリック メソッド静的メンバーAppendAllLines(String, IEnumerable<String>)ファイルに行を追加してから、そのファイルを閉じます。
パブリック メソッド静的メンバーAppendAllLines(String, IEnumerable<String>, Encoding)指定されたエンコーディングを使用してファイルに行を追加してから、そのファイルを閉じます。
パブリック メソッド静的メンバーAppendAllText(String, String)ファイルを開き、指定した文字列をそのファイルに追加した後、ファイルを閉じます。 ファイルが存在しない場合、このメソッドはファイルを作成し、指定した文字列をファイルに書き込んだ後、ファイルを閉じます。
パブリック メソッド静的メンバーAppendAllText(String, String, Encoding)指定した文字列をファイルに追加します。ファイルがまだ存在しない場合は、ファイルを作成します。
パブリック メソッド静的メンバーXNA Framework によるサポートAppendText既存のファイルに UTF-8 エンコードされたテキストを付け加える StreamWriter を作成します。
パブリック メソッド静的メンバーXNA Framework によるサポートCopy(String, String)既存のファイルを新しいファイルにコピーします。 同じ名前のファイルを上書きできません。
パブリック メソッド静的メンバーXNA Framework によるサポートCopy(String, String, Boolean)既存のファイルを新しいファイルにコピーします。 同じ名前のファイルの上書きが許可されます。
パブリック メソッド静的メンバーXNA Framework によるサポートCreate(String)指定したパスでファイルを作成または上書きします。
パブリック メソッド静的メンバーXNA Framework によるサポートCreate(String, Int32)指定したファイルを作成または上書きします。
パブリック メソッド静的メンバーCreate(String, Int32, FileOptions)バッファー サイズとファイルの作成または上書き方法を示す FileOptions 値を指定して、指定のファイルを作成または上書きします。
パブリック メソッド静的メンバーCreate(String, Int32, FileOptions, FileSecurity)指定したバッファー サイズ、ファイル オプション、およびファイル セキュリティを使用して、指定したファイルを作成または上書きします。
パブリック メソッド静的メンバーXNA Framework によるサポートCreateTextUTF-8 エンコードされたテキストの書き込み用にファイルを作成または開きます。
パブリック メソッド静的メンバーDecrypt Encrypt メソッドを使用して現在のアカウントによって暗号化されたファイルを復号化します。
パブリック メソッド静的メンバーXNA Framework によるサポートDelete指定したファイルを削除します。
パブリック メソッド静的メンバーEncryptファイルの暗号化に使用したアカウントだけが復号化できるようにファイルを暗号化します。
パブリック メソッド静的メンバーXNA Framework によるサポートExists指定したファイルが存在するかどうかを確認します。
パブリック メソッド静的メンバーGetAccessControl(String)指定したファイルのアクセス制御リスト (ACL) のエントリをカプセル化する FileSecurity オブジェクトを取得します。
パブリック メソッド静的メンバーGetAccessControl(String, AccessControlSections)特定のファイルのアクセス制御リスト (ACL) の指定した型のエントリをカプセル化する FileSecurity オブジェクトを取得します。
パブリック メソッド静的メンバーGetAttributesパス上のファイルの FileAttributes を取得します。
パブリック メソッド静的メンバーXNA Framework によるサポートGetCreationTime指定したファイルまたはディレクトリの作成日時を返します。
パブリック メソッド静的メンバーGetCreationTimeUtc指定したファイルまたはディレクトリの作成日時を世界協定時刻 (UTC) で返します。
パブリック メソッド静的メンバーXNA Framework によるサポートGetLastAccessTime指定したファイルまたはディレクトリに最後にアクセスした日付と時刻を返します。
パブリック メソッド静的メンバーGetLastAccessTimeUtc指定したファイルまたはディレクトリに最後にアクセスした日付と時刻を世界協定時刻 (UTC) で返します。
パブリック メソッド静的メンバーXNA Framework によるサポートGetLastWriteTime指定したファイルまたはディレクトリに最後に書き込んだ日付と時刻を返します。
パブリック メソッド静的メンバーGetLastWriteTimeUtc指定したファイルまたはディレクトリに最後に書き込んだ日付と時刻を世界協定時刻 (UTC) で返します。
パブリック メソッド静的メンバーXNA Framework によるサポートMove指定したファイルを新しい場所に移動します。オプションで新しいファイル名を指定することもできます。
パブリック メソッド静的メンバーXNA Framework によるサポートOpen(String, FileMode)指定したパスの FileStream を読み取り/書き込みアクセスで開きます。
パブリック メソッド静的メンバーXNA Framework によるサポートOpen(String, FileMode, FileAccess)指定したモードとアクセスで、指定したパスの FileStream を開きます。
パブリック メソッド静的メンバーXNA Framework によるサポートOpen(String, FileMode, FileAccess, FileShare)読み取り、書き込み、または読み取り/書き込みアクセスを持つ指定モードと指定した共有オプションで、指定したパスの FileStream を開きます。
パブリック メソッド静的メンバーXNA Framework によるサポートOpenRead読み取り用の既存のファイルを開きます。
パブリック メソッド静的メンバーXNA Framework によるサポートOpenText読み取り用の既存の UTF-8 エンコードされたテキスト ファイルを開きます。
パブリック メソッド静的メンバーXNA Framework によるサポートOpenWrite書き込み用に、既存のファイルを開くか新しいファイルを作成します。
パブリック メソッド静的メンバーReadAllBytesバイナリ ファイルを開き、ファイルの内容をバイト配列に読み取った後、ファイルを閉じます。
パブリック メソッド静的メンバーReadAllLines(String)テキスト ファイルを開き、ファイルのすべての行を読み取った後、ファイルを閉じます。
パブリック メソッド静的メンバーReadAllLines(String, Encoding)ファイルを開き、指定したエンコーディングが適用されたファイルのすべての行を読み取った後、ファイルを閉じます。
パブリック メソッド静的メンバーReadAllText(String)テキスト ファイルを開き、ファイルのすべての行を読み取った後、ファイルを閉じます。
パブリック メソッド静的メンバーReadAllText(String, Encoding)ファイルを開き、指定したエンコーディングが適用されたファイルのすべての行を読み取った後、ファイルを閉じます。
パブリック メソッド静的メンバーReadLines(String)ファイルの行を読み取ります。
パブリック メソッド静的メンバーReadLines(String, Encoding)指定された方法でエンコーディングされたファイルの行を読み取ります。
パブリック メソッド静的メンバーReplace(String, String, String)指定したファイルの内容を別のファイルの内容に置き換えます。置き換えによって元のファイルは削除され、置き換えられたファイルのバックアップが作成されます。
パブリック メソッド静的メンバーReplace(String, String, String, Boolean)指定したファイルの内容を別のファイルの内容に置き換えます。置き換えによって元のファイルは削除され、置き換えられたファイルのバックアップが作成されます。オプションで、マージ エラーを無視することもできます。
パブリック メソッド静的メンバーSetAccessControl FileSecurity オブジェクトによって表されるアクセス制御リスト (ACL: Access Control List) のエントリを、指定したファイルに適用します。
パブリック メソッド静的メンバーSetAttributes指定したパスでファイルの指定された FileAttributes を設定します。
パブリック メソッド静的メンバーSetCreationTimeファイルが作成された日付と時刻を設定します。
パブリック メソッド静的メンバーSetCreationTimeUtcファイルが作成された日付と時刻を世界協定時刻 (UTC) で設定します。
パブリック メソッド静的メンバーSetLastAccessTime指定したファイルに最後にアクセスした日付と時刻を設定します。
パブリック メソッド静的メンバーSetLastAccessTimeUtc指定したファイルに最後にアクセスした日付と時刻を世界協定時刻 (UTC) で設定します。
パブリック メソッド静的メンバーSetLastWriteTime指定したファイルに最後に書き込んだ日付と時刻を設定します。
パブリック メソッド静的メンバーSetLastWriteTimeUtc指定したファイルに最後に書き込んだ日付と時刻を世界協定時刻 (UTC) で設定します。
パブリック メソッド静的メンバーWriteAllBytes新しいファイルを作成し、指定したバイト配列をそのファイルに書き込んだ後、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。
パブリック メソッド静的メンバーWriteAllLines(String, IEnumerable<String>)新しいファイルを作成し、文字列のコレクションをそのファイルに書き込んでから、そのファイルを閉じます。
パブリック メソッド静的メンバーWriteAllLines(String, String[])新しいファイルを作成し、指定した文字列配列をそのファイルに書き込んだ後、ファイルを閉じます。
パブリック メソッド静的メンバーWriteAllLines(String, IEnumerable<String>, Encoding)指定されたエンコーディングを使用して新しいファイルを作成し、文字列のコレクションをそのファイルに書き込んでから、そのファイルを閉じます。
パブリック メソッド静的メンバーWriteAllLines(String, String[], Encoding)新しいファイルを作成し、指定されたエンコーディングで指定された文字列配列をそのファイルに書き込んでから、そのファイルを閉じます。
パブリック メソッド静的メンバーWriteAllText(String, String)新しいファイルを作成し、指定した文字列をそのファイルに書き込んだ後、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。
パブリック メソッド静的メンバーWriteAllText(String, String, Encoding)新しいファイルを作成し、指定したエンコーディングで指定の文字列をそのファイルに書き込んだ後、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。
このページのトップへ

File クラスは、ファイルのコピー、移動、名前変更、作成、オープン、削除、内容の追加などの一般的な操作に使用します。 File クラスは、ファイルの作成、ファイルへのアクセス、およびファイルへの書き込みに関連した DateTime 情報、およびファイル属性の取得と設定にも使用できます。

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

File のメソッドはすべて静的であるため、1 つの操作を実行するだけであれば、File のメソッドを使用する方が、対応する FileInfo のインスタンス メソッドを使用するよりも効率的な場合があります。 File メソッドはすべて、操作するファイルのパスを必要とします。

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

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

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

列挙型

説明

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"。

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

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


using System;
using System.IO;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // Create a file to write to.
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }

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


.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) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
表示: