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);
            }
        }
    }
}
open System.IO

let path = @"c:\temp\MyTest.txt"

if File.Exists path |> not then
    // Create a file to write to.
    use sw = File.CreateText path
    sw.WriteLine "Hello"
    sw.WriteLine "And"
    sw.WriteLine "Welcome"

// Open the file to read from.
do
    use sr = File.OpenText path
    let mutable s = sr.ReadLine()

    while isNull s |> not do
        printfn $"{s}"
        s <- sr.ReadLine()
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

注釈

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

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

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

クラスの静的メソッドは、 File すべてのメソッドに対してセキュリティ チェックを実行します。 オブジェクトを複数回再利用する場合は、代わりに の対応するインスタンス メソッドをFileInfo使用することを検討してください。セキュリティ チェックは常に必要になるとは限りません。

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

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

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

注意

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

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

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

メソッド

AppendAllBytes(String, Byte[])

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

AppendAllBytesAsync(String, Byte[], CancellationToken)

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

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(SafeFileHandle)

に関連付けられているfileHandleファイルまたはディレクトリの指定された FileAttributes を取得します。

GetAttributes(String)

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

GetCreationTime(SafeFileHandle)

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

GetCreationTime(String)

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

GetCreationTimeUtc(SafeFileHandle)

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

GetCreationTimeUtc(String)

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

GetLastAccessTime(SafeFileHandle)

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

GetLastAccessTime(String)

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

GetLastAccessTimeUtc(SafeFileHandle)

指定したファイルまたはディレクトリの最終アクセス日時を協定世界時 (UTC) で返します。

GetLastAccessTimeUtc(String)

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

GetLastWriteTime(SafeFileHandle)

指定したファイルまたはディレクトリの最後の書き込み日時を返します。

GetLastWriteTime(String)

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

GetLastWriteTimeUtc(SafeFileHandle)

指定したファイルまたはディレクトリの最終書き込み日時を協定世界時 (UTC) で返します。

GetLastWriteTimeUtc(String)

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

GetUnixFileMode(SafeFileHandle)

指定したファイル ハンドルの を UnixFileMode 取得します。

GetUnixFileMode(String)

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

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)

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

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

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

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)

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

ReadLinesAsync(String, CancellationToken)

ファイルの行を非同期に読み取ります。

ReadLinesAsync(String, Encoding, CancellationToken)

指定したエンコードを持つファイルの行を非同期に読み取ります。

Replace(String, String, String)

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

Replace(String, String, String, Boolean)

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

ResolveLinkTarget(String, Boolean)

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

SetAccessControl(String, FileSecurity)

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

SetAttributes(SafeFileHandle, FileAttributes)

に関連付けられているfileHandleファイルまたはディレクトリの指定した FileAttributes を設定します。

SetAttributes(String, FileAttributes)

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

SetCreationTime(SafeFileHandle, DateTime)

ファイルまたはディレクトリが作成された日時を設定します。

SetCreationTime(String, DateTime)

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

SetCreationTimeUtc(SafeFileHandle, DateTime)

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

SetCreationTimeUtc(String, DateTime)

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

SetLastAccessTime(SafeFileHandle, DateTime)

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

SetLastAccessTime(String, DateTime)

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

SetLastAccessTimeUtc(SafeFileHandle, DateTime)

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

SetLastAccessTimeUtc(String, DateTime)

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

SetLastWriteTime(SafeFileHandle, DateTime)

指定したファイルまたはディレクトリが最後に書き込まれた日時を設定します。

SetLastWriteTime(String, DateTime)

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

SetLastWriteTimeUtc(SafeFileHandle, DateTime)

指定したファイルまたはディレクトリが最後に書き込まれた日時を協定世界時 (UTC) で設定します。

SetLastWriteTimeUtc(String, DateTime)

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

SetUnixFileMode(SafeFileHandle, UnixFileMode)

指定したファイル ハンドルの指定 UnixFileMode した を設定します。

SetUnixFileMode(String, UnixFileMode)

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

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)

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

適用対象

こちらもご覧ください