File クラス

定義

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

public ref class File abstract sealed
public ref class File sealed
public static class File
public sealed class File
[System.Runtime.InteropServices.ComVisible(true)]
public static class File
type File = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type File = class
Public Class File
Public NotInheritable Class File
継承
File
属性

次の例では、 クラスを使用してファイルが存在するかどうかを確認し、結果に応じて、新しいファイルを作成して書き込むか、既存のファイルを開いてそこから読み取る方法を示します。 File コードを実行する前に、フォルダーを作成 c:\temp します。

using namespace System;
using namespace System::IO;
int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   if (  !File::Exists( path ) )
   {
      
      // Create a file to write to.
      StreamWriter^ sw = File::CreateText( path );
      try
      {
         sw->WriteLine( "Hello" );
         sw->WriteLine( "And" );
         sw->WriteLine( "Welcome" );
      }
      finally
      {
         if ( sw )
                  delete (IDisposable^)(sw);
      }
   }

   // Open the file to read from.
   StreamReader^ sr = File::OpenText( path );
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
            delete (IDisposable^)(sr);
   }

   try
   {
      String^ path2 = String::Concat( path, "temp" );
      
      // Ensure that the target does not exist.
      File::Delete( path2 );
      
      // Copy the file.
      File::Copy( path, path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );
      
      // Delete the newly created file.
      File::Delete( path2 );
      Console::WriteLine( "{0} was successfully deleted.", path2 );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
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);
            }
        }
    }
}
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        If File.Exists(path) = False Then
            ' Create a file to write to.
            Using sw As StreamWriter = File.CreateText(path)
                sw.WriteLine("Hello")
                sw.WriteLine("And")
                sw.WriteLine("Welcome")
           End Using
        End If

        ' Open the file to read from.
        Using sr As StreamReader = File.OpenText(path)
            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
        End Using
    End Sub
End Class

注釈

一度に 1 つのファイルのコピー、移動、名前変更、作成、開く、削除、追加などの一般的な操作には、 クラス File を使用します。 クラスを使用して、ファイルの作成、アクセス、および書き込みに関連するファイル属性または情報を取得 File DateTime および設定することもできます。 複数のファイルに対して操作を実行する場合は、 または を参照 Directory.GetFiles してください DirectoryInfo.GetFiles

多くのメソッド File は、ファイルを作成または開く際に他の I/O 型を返します。 これらの他の型を使用して、ファイルをさらに操作できます。 詳細については、「、、、 などの File 特定のメンバー OpenTextCreateText を参照してください Create

すべてのメソッドは静的なので、1 つのアクションのみを実行する場合は、対応するインスタンス メソッドではなくメソッドを使用する方 File File FileInfo が効率的な場合があります。 すべての File メソッドには、操作するファイルへのパスが必要です。

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

既定では、新しいファイルへの完全な読み取り/書き込みアクセス権がすべてのユーザーに付与されます。

次の表では、さまざまなメソッドの動作をカスタマイズするために使用される列挙体について File 説明します。

列挙 説明
FileAccess ファイルへの読み取りおよび書き込みアクセスを指定します。
FileShare 既に使用されているファイルに対して許可されるアクセスレベルを指定します。
FileMode 既存のファイルの内容を保持するか上書きするか、および既存のファイルを作成する要求によって例外が発生するかどうかを指定します。

注意

入力文字列としてパスを受け入れるメンバーでは、そのパスが整形式である必要があります。そうするか、例外が発生します。 たとえば、パスが完全修飾で、スペースで始まる場合、パスは クラスのメソッドでトリミングされません。 そのため、パスの形式が正しいので、例外が発生します。 同様に、パスまたはパスの組み合わせを 2 回完全修飾することはできません。 たとえば、"c:\temp c:\windows" では、ほとんどの場合、例外も発生します。 パス文字列を受け入れるメソッドを使用する場合は、パスが整形式で表示されます。

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

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

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

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

  • "\\\\\\\MyServer\\\MyShare"(C# の場合 "\\\MyServer\MyShare" )、または Visual Basic。

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

メソッド

AppendAllLines(String, IEnumerable<String>)

ファイルに行を追加してから、そのファイルを閉じます。 指定したファイルが存在しない場合、このメソッドはファイルを作成し、指定した行をファイルに書き込んだ後、ファイルを閉じます。

AppendAllLines(String, IEnumerable<String>, Encoding)

指定されたエンコーディングを使用してファイルに行を追加してから、そのファイルを閉じます。 指定したファイルが存在しない場合、このメソッドはファイルを作成し、指定した行をファイルに書き込んだ後、ファイルを閉じます。

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

非同期にファイルに行を追加してから、そのファイルを閉じます。 指定したファイルが存在しない場合、このメソッドはファイルを作成し、指定した行をファイルに書き込んだ後、ファイルを閉じます。

AppendAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

指定のエンコーディングを使用してファイルに行を非同期に追加してから、そのファイルを閉じます。 指定したファイルが存在しない場合、このメソッドはファイルを作成し、指定した行をファイルに書き込んだ後、ファイルを閉じます。

AppendAllText(String, String)

ファイルを開き、指定した文字列をそのファイルに追加した後、ファイルを閉じます。 ファイルが存在しない場合、このメソッドはファイルを作成し、指定した文字列をファイルに書き込んだ後、ファイルを閉じます。

AppendAllText(String, String, Encoding)

指定のエンコードを使用して指定の文字列をファイルに追加し、ファイルが存在しない場合は作成します。

AppendAllTextAsync(String, String, CancellationToken)

ファイルを非同期的に開くか、ファイルが存在しない場合は作成し、指定の文字列をファイルに追加してからファイルを閉じます。

AppendAllTextAsync(String, String, Encoding, CancellationToken)

ファイルを非同期的に開くか、ファイルが存在しない場合は作成し、指定のエンコードを使用して指定の文字列をファイルに追加してから、ファイルを閉じます。

AppendText(String)

StreamWriter を作成します。これは、UTF-8 でエンコードされたテキストを既存のファイルに 追加するか、指定したファイルが存在しない場合は新しいファイルに追加します。

Copy(String, String)

既存のファイルを新しいファイルにコピーします。 同じ名前のファイルを上書きできません。

Copy(String, String, Boolean)

既存のファイルを新しいファイルにコピーします。 同じ名前のファイルの上書きが許可されます。

Create(String)

指定したパスでファイルを作成または上書きします。

Create(String, Int32)

バッファー サイズを指定して、指定したパスのファイルを作成または上書きします。

Create(String, Int32, FileOptions)

バッファー サイズとファイルの作成または上書き方法を示すオプションを指定して、指定したパスのファイルを作成または上書きします。

Create(String, Int32, FileOptions, FileSecurity)

バッファー サイズ、ファイルの作成または上書き方法を示すオプション、ファイルのアクセスの制御および監査セキュリティを決定する値を指定して、指定したパスのファイルを作成または上書きします。

CreateSymbolicLink(String, String)

を指す によって識別されるファイル シンボリック path リンクを作成します pathToTarget

CreateText(String)

UTF-8 エンコードされたテキストの書き込み用にファイルを作成または開きます。 ファイルが既に存在する場合は、そのコンテンツが上書きされます。

Decrypt(String)

Encrypt(String) メソッドを使用して現在のアカウントによって暗号化されたファイルを復号化します。

Delete(String)

指定されたファイルを削除します。

Encrypt(String)

ファイルを暗号化し、そのファイルの暗号化に使用したアカウントだけが暗号化の解除をできるようにします。

Exists(String)

指定したファイルが存在するかどうかを確認します。

GetAccessControl(String)

指定したファイルのアクセス制御リスト (ACL) のエントリをカプセル化する FileSecurity オブジェクトを取得します。

GetAccessControl(String, AccessControlSections)

特定のファイルのアクセス制御リスト (ACL) の指定した型のエントリをカプセル化する FileSecurity オブジェクトを取得します。

GetAttributes(String)

パス上のファイルの FileAttributes を取得します。

GetCreationTime(String)

指定したファイルまたはディレクトリの作成日時を返します。

GetCreationTimeUtc(String)

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

GetLastAccessTime(String)

指定したファイルまたはディレクトリに最後にアクセスした日付と時刻を返します。

GetLastAccessTimeUtc(String)

指定されたファイルまたはディレクトリに最後にアクセスした日付と時刻を世界協定時 (UTC) で返します。

GetLastWriteTime(String)

指定したファイルまたはディレクトリに最後に書き込んだ日付と時刻を返します。

GetLastWriteTimeUtc(String)

指定したファイルまたはディレクトリに最後に書き込んだ日付と時刻を世界協定時刻 (UTC) で返します。

Move(String, String)

指定したファイルを新しい場所に移動します。オプションで新しいファイル名を指定することもできます。

Move(String, String, Boolean)

指定したファイルを新しい場所に移動します。新しいファイル名を指定し、既に存在する場合は、対象ファイルを上書きするオプションが用意されています。

Open(String, FileMode)

指定したパスの FileStream を、共有なしの読み取り/書き込みアクセスで開きます。

Open(String, FileMode, FileAccess)

指定したモードとアクセスを使用し、共有なしで、指定したパスの FileStream を開きます。

Open(String, FileMode, FileAccess, FileShare)

読み取り、書き込み、または読み取り/書き込みアクセスを持つ指定モードと指定した共有オプションで、指定したパスの FileStream を開きます。

Open(String, FileStreamOptions)

指定したパス、作成モード、読み取り/書き込みおよび共有アクセス許可、他の FileStreams が同じファイルに対して持つアクセス、バッファー サイズ、追加のファイル オプション、および割り当てサイズを使用して、 クラスの新しいインスタンスを初期化します。 FileStream

OpenHandle(String, FileMode, FileAccess, FileShare, FileOptions, Int64)

指定したパス、作成モード、読み取り/書き込みおよび共有アクセス許可、他の SafeFileHandles が同じファイルに対して持つアクセス、追加のファイル オプション、および割り当てサイズを使用して、 クラスの新しいインスタンスを初期化します。 SafeFileHandle

OpenRead(String)

読み取り用の既存のファイルを開きます。

OpenText(String)

読み取り用の既存の UTF-8 エンコードされたテキスト ファイルを開きます。

OpenWrite(String)

書き込み用に、既存のファイルを開くか新しいファイルを作成します。

ReadAllBytes(String)

バイナリ ファイルを開き、ファイルの内容をバイト配列に読み取った後、ファイルを閉じます。

ReadAllBytesAsync(String, CancellationToken)

バイナリ ファイルを非同期に開き、ファイルの内容をバイト配列に読み取った後、ファイルを閉じます。

ReadAllLines(String)

テキスト ファイルを開き、ファイルのすべての行を読み取った後、ファイルを閉じます。

ReadAllLines(String, Encoding)

ファイルを開き、指定したエンコーディングが適用されたファイルのすべての行を読み取った後、ファイルを閉じます。

ReadAllLinesAsync(String, CancellationToken)

テキスト ファイルを非同期に開き、ファイルのすべての行を読み取った後、ファイルを閉じます。

ReadAllLinesAsync(String, Encoding, CancellationToken)

テキスト ファイルを非同期に開き、指定のエンコーディングが適用されたファイルのすべての行を読み取った後、ファイルを閉じます。

ReadAllText(String)

テキスト ファイルを開き、そのファイル内のすべてのテキストを読み取った後、ファイルを閉じます。

ReadAllText(String, Encoding)

ファイルを開き、指定したエンコードを使ってファイル内のすべてのテキストを読み取った後、ファイルを閉じます。

ReadAllTextAsync(String, CancellationToken)

テキスト ファイルを非同期に開き、ファイルのすべてのテキストを読み取った後、ファイルを閉じます。

ReadAllTextAsync(String, Encoding, CancellationToken)

テキスト ファイルを非同期に開き、指定のエンコーディングが適用されたファイルのすべてのテキストを読み取った後、ファイルを閉じます。

ReadLines(String)

ファイルの行を読み取ります。

ReadLines(String, Encoding)

指定された方法でエンコーディングされたファイルの行を読み取ります。

Replace(String, String, String)

指定したファイルの内容を別のファイルの内容に置き換えます。置き換えによって元のファイルは削除され、置き換えられたファイルのバックアップが作成されます。

Replace(String, String, String, Boolean)

指定したファイルの内容を別のファイルの内容に置き換えます。置き換えによって元のファイルは削除され、置き換えられたファイルのバックアップが作成されます。オプションで、マージ エラーを無視することもできます。

ResolveLinkTarget(String, Boolean)

指定したファイル リンクのターゲットを取得します。

SetAccessControl(String, FileSecurity)

FileSecurity オブジェクトによって記述されるアクセス制御リスト (ACL: Access Control List) のエントリを、指定したファイルに適用します。

SetAttributes(String, FileAttributes)

指定したパスでファイルの指定された FileAttributes を設定します。

SetCreationTime(String, DateTime)

ファイルが作成された日付と時刻を設定します。

SetCreationTimeUtc(String, DateTime)

ファイルが作成された日付と時刻を世界協定時刻 (UTC) で設定します。

SetLastAccessTime(String, DateTime)

指定したファイルに最後にアクセスした日付と時刻を設定します。

SetLastAccessTimeUtc(String, DateTime)

指定したファイルに最後にアクセスした日付と時刻を世界協定時刻 (UTC) で設定します。

SetLastWriteTime(String, DateTime)

指定したファイルに最後に書き込んだ日付と時刻を設定します。

SetLastWriteTimeUtc(String, DateTime)

指定したファイルに最後に書き込んだ日付と時刻を世界協定時刻 (UTC) で設定します。

WriteAllBytes(String, Byte[])

新しいファイルを作成し、指定されたバイト配列をそのファイルに書き込んだ後、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。

WriteAllBytesAsync(String, Byte[], CancellationToken)

新しいファイルを非同期に作成し、指定のバイト配列をそのファイルに書き込んだ後、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。

WriteAllLines(String, IEnumerable<String>)

新しいファイルを作成し、文字列のコレクションをそのファイルに書き込んでから、そのファイルを閉じます。

WriteAllLines(String, IEnumerable<String>, Encoding)

指定されたエンコーディングを使用して新しいファイルを作成し、文字列のコレクションをそのファイルに書き込んでから、そのファイルを閉じます。

WriteAllLines(String, String[])

新しいファイルを作成し、指定した文字列配列をそのファイルに書き込んだ後、ファイルを閉じます。

WriteAllLines(String, String[], Encoding)

新しいファイルを作成し、指定されたエンコーディングで指定された文字列配列をそのファイルに書き込んでから、そのファイルを閉じます。

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

新しいファイルを非同期に作成し、指定の行をそのファイルに書き込んでから、ファイルを閉じます。

WriteAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

新しいファイルを非同期に作成し、指定のエンコーディングで指定の行をそのファイルに書き込んでから、そのファイルを閉じます。

WriteAllText(String, String)

新しいファイルを作成し、指定した文字列をそのファイルに書き込んだ後、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。

WriteAllText(String, String, Encoding)

新しいファイルを作成し、指定したエンコーディングで指定の文字列をそのファイルに書き込んだ後、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。

WriteAllTextAsync(String, String, CancellationToken)

新しいファイルを非同期に作成し、指定の文字列をそのファイルに書き込んでから、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。

WriteAllTextAsync(String, String, Encoding, CancellationToken)

新しいファイルを非同期に作成し、指定のエンコーディングで指定の文字列をそのファイルに書き込んだ後、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。

適用対象

こちらもご覧ください