PR

 ファイルのコピー,移動,名前変更,作成,オープン,削除など,各種操作をするときには,Fileクラスを利用する。各操作に対応する静的メソッドが実装されている。

 パス名には,絶対パス,相対パス,UNC(Universal Naming Convention)パスのいずれかを指定できる。

サンプルコードを見る


名前空間
System.IO
対応バージョン
.NET Framework 2.0,1.1,1.0
.NET Compact Framework 2.0,1.0
主なメソッド
AppendAllText
第1引数に指定したファイルをオープンし,第2引数に指定した文字列を追加し,ファイルをクローズする。ファイルがまだ存在しない場合は,ファイルを新規作成し,第2引数に指定した文字列を書き込み,ファイルをクローズする。エンコーディングを指定する場合は,第3引数にSystem.Text.Encodingオブジェクトで指定する。第3引数を省略した場合は,UTF-8になる。

AppendText
既存のファイルにUTF-8エンコードされたテキストを追加するStreamWriterオブジェクトを作成する。引数にファイル名を指定する。指定したファイルが存在しない場合には,新たにファイルが作られる。

Copy
第1引数に指定したファイルを,第2引数に指定したファイルにコピーする。第1引数に指定したファイルが存在しない場合は,FileNotFoundException例外が発生する。第21引数に指定したファイルが既に存在するとき,第3引数にTrueを指定した場合はコピーできる。第3引数にFalseを指定するか省略した場合は,IOException例外が発生する。

Create
引数に指定したファイルを作成する。

CreateText
UTF-8エンコードされたテキストの書き込み用にファイルを作成またはオープンする。

Decrypt
Encrypt メソッドを使用して現在のアカウントによって暗号化されたファイルを復号化する。複合化するファイルのファイル名を引数に指定する。

Delete
引数に指定したファイルを削除する。指定したファイルが存在しない場合でも,例外はスローされない。指定したファイルが使用中の場合は,IOException例外が発生する。

Encrypt
引数に指定したファイルを暗号化し,そのファイルの暗号化に使用したアカウントだけが復号化できるようにする。

Exists
引数に指定したファイルが存在するかどうかを調べる。存在する場合はTrue,それ以外の場合はFalseが返る。このメソッドは,引数に指定したファイル名がnull参照,または長さ0の文字列の場合もFalseを返す。呼び出し元が,引数に指定されたファイルを読み取るための十分なアクセス許可を持たない場合,例外はスローされず,このメソッドは引数に指定されたファイルの有無にかかわらずFalseを返す。

GetAccessControl
指定したファイルのアクセス制御リスト(ACL)を取得する。System.Security.AccessControl.FileSecurityオブジェクトで得られる。

GetAttributes
引数に指定したファイルのアトリビュート情報を取得する。FileAttributes列挙型の値で得られる。
FileAttributes.Archiveは,アーカイブ・フラグが立っている状態。バックアップや削除の対象となるファイルをマークするのに使う。
FileAttributes.Compressedの場合は,ファイルが圧縮されていることを表す。
FileAttributes.Deviceは,現在使用されていない(予約済み)。
FileAttributes.Directoryの場合は,ディレクトリを表す。
FileAttributes.Encryptedの場合は,ファイルまたはディレクトリは暗号化されている。ファイルの場合は,ファイルのすべてのデータが暗号化されている。ディレクトリの場合は,新規作成されるファイルおよびディレクトリが既定で暗号化される。
FileAttributes.Hiddenの場合は,ファイルは隠しファイルである。通常のディレクトリ・リストには表示されない。
FileAttributes.Normalは標準のファイルで,ほかのアトリビュート・セットを持たない。この属性は単独で使用した場合だけ有効である。
FileAttributes.NotContentIndexedの場合は,ファイルにOSのインデックス・サービスによるインデックスが付いていない。
FileAttributes.Offlineの場合は,ファイルはオフラインである。オフライン・ファイルのデータは,すぐには使用できない。
FileAttributes.ReadOnlyの場合は,ファイルは読み込み専用である。
FileAttributes.ReparsePointの場合は,ファイルに,ファイルまたはディレクトリに関連付けられたユーザー定義のデータ・ブロックである,リパース・ポイントが含まれていることを表す。
FileAttributes.SparseFileの場合は,スパース・ファイルであることを表す。スパース・ファイルは,通常,データの大部分が0である大きなファイルである。
FileAttributes.Systemは,システム・ファイルを表す。このファイルはOSの一部である。
FileAttributes.Temporaryは,一時ファイルを表す。ファイル・システムは,アクセス速度を上げるために,データをフラッシュして大容量ストレージに返すのではなく,すべてのデータをメモリーに保持しようとする。一時ファイルが不要になったときは,すぐにアプリケーションで削除する。

GetCreationTime
引数に指定したファイルまたはディレクトリの作成日時を返す。DateTime型の値が得られる。

GetCreationTimeUtc
引数に指定したファイルまたはディレクトリの作成日時を世界協定時刻(UTC)で返す。DateTime型の値が得られる。

GetLastAccessTime
引数に指定したファイルまたはディレクトリに,最後にアクセスした日付と時刻を返す。DateTime型の値が得られる。

GetLastAccessTimeUtc
引数に指定したファイルまたはディレクトリに,最後にアクセスした日付と時刻を世界協定時刻(UTC)で返す。DateTime型の値が得られる。

GetLastWriteTime
引数に指定したファイルまたはディレクトリに,最後に書き込んだ日付と時刻を返す。DateTime型の値が得られる。

GetLastWriteTimeUtc
引数に指定したファイルまたはディレクトリに,最後に書き込んだ日付と時刻を世界協定時刻(UTC)で返す。DateTime型の値が得られる。

Move
引数に指定したファイルを移動する。第1引数に移動するファイル名,第2引数に移動先のパスまたはファイル名を指定する。パスを指定したときは,同じファイル名のまま移動する。ファイル名を指定したときは,ファイル名を変えて移動する。移動先のファイルが既に存在するときは,IOException例外が発生する。

Open
指定したファイルをオープンし,FileStreamオブジェクトを返す。第1引数にオープンするファイル名,第2引数にファイル・モードを指定する。ファイル・モードは,FileMode列挙型の値で指定する。
FileMode.Appendは,ファイルが存在する場合はそのファイルを開き,ファイルの末尾までシークする。ファイルが存在しない場合は新規作成する。FileMode.Appendは,必ずFileAccess.Writeと一緒に使用する。読み込み操作を実行しようとしてもすべて失敗し,ArgumentException例外が発生する。
FileMode.Createは,新しいファイルを作成する。ファイルが既に存在する場合は上書きされる。FileMode.Createは,ファイルが存在しない場合はFileMode.CreateNew,ファイルが存在する場合はFileMode.Truncateと同じである。
FileMode.CreateNewは新しいファイルを作成する。ファイルが既に存在する場合は,IOException例外が発生する。
FileMode.Openは,既存のファイルを開くことを指定する。ファイルが存在しない場合は,FileNotFoundException例外が発生する。
FileMode.OpenOrCreateは,ファイルが存在する場合はそのファイルを開き,存在しない場合は新規作成することを指定する。
FileMode.Truncateは,既存のファイルを開くことを指定する。ファイルは,開いた後にサイズが0バイトになるように切り捨てられる。

OpenRead
引数に指定したファイルを,読み取り用に開く。FileStreamオブジェクトが返る。

OpenText
引数に指定したファイルをUTF-8エンコードされたテキスト・ファイルとして,読み取り用に開く。StreamReaderオブジェクトが得られる。

OpenWrite
引数に指定したファイルを,書き込み用に開く。FileStreamオブジェクトが返る。

ReadAllBytes
引数に指定したバイナリ・ファイルを開き,ファイルの内容をバイト配列に読み取った後,ファイルを閉じる。ファイルの内容を読み取ったバイト配列を返す。

ReadAllLines
引数に指定したテキスト・ファイルを開き,ファイルのすべての行を文字列配列に読み取った後,ファイルを閉じる。ファイルの内容を読み取った文字列配列を返す。エンコーディングを指定する場合は,第2引数にSystem.Text.Encodingオブジェクトで指定する。第2引数を省略した場合は,UTF-8になる。

ReadAllText
引数に指定したテキスト・ファイルを開き,ファイルのすべての文字列を読み取った後,ファイルを閉じる。読み取った内容は,Stringオブジェクトで返る。このメソッドが返すStringオブジェクトには,改行文字などもそのまま入る。エンコーディングを指定する場合は,第2引数にSystem.Text.Encodingオブジェクトで指定する。第2引数を省略した場合は,UTF-8になる。

Replace
第1引数に指定したファイルを第3引数に指定したファイルにコピーし,第2引数に指定したファイルを第1引数に指定したファイルにコピーする。

SetAccessControl
第1引数に指定したファイルに,第2引数に指定したSystem.Security.AccessControl.FileSecurityオブジェクトで表されるアクセス制御リスト(ACL:Access Control List)を適用する。

SetAttributes
第1引数に指定したファイルに,第2引数に指定されたファイル属性を適用する。ファイル属性は,FileAttributes列挙型の値で指定する。

SetCreationTime
ファイルが作成された日付と時刻を設定する。第1引数にファイル名,第2引数に日付と時刻を表すDateTime値を指定する。

SetCreationTimeUtc
ファイルが作成された日付と時刻を世界協定時刻(UTC)で設定する。第1引数にファイル名,第2引数に日付と時刻を表すDateTime値を指定する。

SetLastAccessTime
指定したファイルに最後にアクセスした日付と時刻を設定する。第1引数にファイル名,第2引数に日付と時刻を表すDateTime値を指定する。

SetLastAccessTimeUtc
指定したファイルに最後にアクセスした日付と時刻を世界協定時刻(UTC)で設定する。第1引数にファイル名,第2引数に日付と時刻を表すDateTime値を指定する。

SetLastWriteTime
指定したファイルに最後に書き込んだ日付と時刻を設定する。第1引数にファイル名,第2引数に日付と時刻を表すDateTime値を指定する。

SetLastWriteTimeUtc
指定したファイルに最後に書き込んだ日付と時刻を世界協定時刻(UTC)で設定する。第1引数にファイル名,第2引数に日付と時刻を表すDateTime値を指定する。

WriteAllBytes
第1引数に指定したファイルを新規作成し,第2引数に指定したバイト配列の内容をそのファイルに書き込んだ後,ファイルを閉じる。第1引数に指定したファイルが既に存在する場合は,上書きされる。

WriteAllLines
第1引数に指定したファイルを新規作成し,第2引数に指定した文字列配列の内容をそのファイルに書き込んだ後,ファイルを閉じる。第1引数に指定したファイルが既に存在する場合は,上書きされる。文字列配列の要素と要素の間には改行コードが書き込まれる。エンコーディングを指定する場合は,第3引数にSystem.Text.Encodingオブジェクトで指定する。第3引数を省略した場合は,UTF-8になる。

WriteAllText
第1引数に指定したファイルを新規作成し,第2引数に指定した文字列をそのファイルに書き込んだ後,ファイルを閉じる。第1引数に指定したファイルが既に存在する場合は,上書きされる。エンコーディングを指定する場合は,第3引数にSystem.Text.Encodingオブジェクトで指定する。第3引数を省略した場合は,UTF-8になる。