File クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
注釈
このクラスは File 、コピー、移動、名前の変更、作成、開く、削除、一度に 1 つのファイルへの追加などの一般的な操作に使用します。 このクラスを File 使用して、ファイルの作成、アクセス、および書き込みに関連するファイル属性または DateTime 情報を取得および設定することもできます。 複数のファイルに対して操作を実行する場合は、次を参照してくださいDirectory.GetFilesDirectoryInfo.GetFiles。
多くのメソッドは、 File ファイルを作成または開くときに他の I/O 型を返します。 これらの他の種類を使用して、ファイルをさらに操作できます。 詳細については、次のようなOpenText特定のFileメンバーをCreateTextCreate参照してください。
すべての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 タスク を参照してください。
メソッド
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) |
そのポイントによって |
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) で返します。 |
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(String, FileAttributes) |
指定したパスでファイルの指定された FileAttributes を設定します。 |
SetCreationTime(String, DateTime) |
ファイルが作成された日付と時刻を設定します。 |
SetCreationTimeUtc(String, DateTime) |
ファイルが作成された日付と時刻を世界協定時刻 (UTC) で設定します。 |
SetLastAccessTime(String, DateTime) |
指定したファイルに最後にアクセスした日付と時刻を設定します。 |
SetLastAccessTimeUtc(String, DateTime) |
指定したファイルに最後にアクセスした日付と時刻を世界協定時刻 (UTC) で設定します。 |
SetLastWriteTime(String, DateTime) |
指定したファイルに最後に書き込んだ日付と時刻を設定します。 |
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) |
新しいファイルを非同期に作成し、指定のエンコーディングで指定の文字列をそのファイルに書き込んだ後、ファイルを閉じます。 既存のターゲット ファイルは上書きされます。 |