次の方法で共有


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

注釈

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

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

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

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

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

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

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

手記

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

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

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

メソッド

AppendAllBytes(String, Byte[])

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

AppendAllBytes(String, ReadOnlySpan<Byte>)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

AppendAllBytesAsync(String, Byte[], CancellationToken)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

AppendAllBytesAsync(String, ReadOnlyMemory<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, ReadOnlySpan<Char>)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

AppendAllText(String, ReadOnlySpan<Char>, Encoding)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

AppendAllText(String, String)

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

AppendAllText(String, String, Encoding)

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

AppendAllTextAsync(String, ReadOnlyMemory<Char>, CancellationToken)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

AppendAllTextAsync(String, ReadOnlyMemory<Char>, Encoding, CancellationToken)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

AppendAllTextAsync(String, String, CancellationToken)

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

AppendAllTextAsync(String, String, Encoding, CancellationToken)

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

AppendText(String)

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

Copy(String, String)

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

Copy(String, String, Boolean)

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

Create(String)

指定したパス内のファイルを作成または切り捨てて上書きします。

Create(String, Int32)

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

Create(String, Int32, FileOptions)

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

Create(String, Int32, FileOptions, FileSecurity)

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

CreateSymbolicLink(String, String)

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

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) エントリを、指定されたファイルに適用します。

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[])

新しいファイルを作成し、指定したバイト配列をファイルに書き込んでから、ファイルを閉じます。 ターゲット ファイルが既に存在する場合は、切り捨てられ、上書きされます。

WriteAllBytes(String, ReadOnlySpan<Byte>)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

WriteAllBytesAsync(String, Byte[], CancellationToken)

新しいファイルを非同期に作成し、指定したバイト配列をファイルに書き込んでから、ファイルを閉じます。 ターゲット ファイルが既に存在する場合は、切り捨てられ、上書きされます。

WriteAllBytesAsync(String, ReadOnlyMemory<Byte>, CancellationToken)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

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, ReadOnlySpan<Char>)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

WriteAllText(String, ReadOnlySpan<Char>, Encoding)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

WriteAllText(String, String)

新しいファイルを作成し、指定した文字列をファイルに書き込んでから、ファイルを閉じます。 ターゲット ファイルが既に存在する場合は、切り捨てられ、上書きされます。

WriteAllText(String, String, Encoding)

新しいファイルを作成し、指定したエンコードを使用して指定した文字列をファイルに書き込み、ファイルを閉じます。 ターゲット ファイルが既に存在する場合は、切り捨てられ、上書きされます。

WriteAllTextAsync(String, ReadOnlyMemory<Char>, CancellationToken)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

WriteAllTextAsync(String, ReadOnlyMemory<Char>, Encoding, CancellationToken)

1 つのファイルの作成、コピー、削除、移動、および開く静的メソッドを提供し、FileStream オブジェクトの作成に役立ちます。

WriteAllTextAsync(String, String, CancellationToken)

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

WriteAllTextAsync(String, String, Encoding, CancellationToken)

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

適用対象

こちらもご覧ください