});連載目次ファイルに対するコピー/削除/リネーム/移動などの操作はすべてFileクラス(System.IO名前空間)にstaticなメソッドとしてまとめられている。ファイルのコピーファイルをコピーするためには、FileクラスのCopyメソッドを使用する(コードはC#の場合)。@"c:\tmp\newfile.txt");パラメータには、コピー元とコピー先のファイル名を指定する。それぞれのパラメータでは、カレント・ディレクトリのファイルや、ファイルの相対パス、ファイルの絶対パスを指定することができる。「@"c:\tmp\newfile.txt"」という記述は、「"c:\\tmp\\newfile.txt"」と同等だ。ディレクトリやファイルにアクセス権がない場合、コピー元のファイルがない場合、コピー先のファイルがすでに存在する場合などには例外が発生する。コピー先のファイルが存在していて上書きでコピーを行う場合には、3つ目のパラメータとしてtrueを指定すればよい。true);ファイルの削除ファイルの削除はFileクラスのDeleteメソッドを使用する。パラメータに指定する削除対象となるファイル名は、Copyメソッドと同様に、カレント・ディレクトリのファイルや、ファイルの相対パス、ファイルの絶対パスを指定することができる。File.Delete("newfile.txt");File.Delete(@"backup\newfile.txt");File.Delete(@"c:\tmp\newfile.txt");ファイルのリネーム(名前変更)と移動ファイルのリネーム(名前変更)や移動は、FileクラスのMoveメソッドを使用する。パラメータには、移動元と移動先のファイル名を指定する。それぞれには、カレント・ディレクトリのファイルや、ファイルの相対パス、ファイルの絶対パスを指定できる。@"c:\tmp\newfile.txt");移動先のファイル名が移動元と異なる場合には、ファイル名をリネームしたことになる(FileクラスにはRenameメソッドはない)。ファイル名を変更しない場合でも、移動先にはファイル名を指定しなければならない(移動先としてディレクトリの指定はできない)。FileInfoクラスとの違い本稿で述べたファイルの操作は、FileInfoクラスを使用しても同様に行うことができる。Fileクラスはstaticなメソッドばかりからなるユーティリティ的なクラスであるのに対して、FileInfoクラスではまず特定のファイルを指定してインスタンスを作成し、それに対して各メソッドの呼び出しを行う。1つのファイルに対して一連のファイル操作を行う場合にはFileInfoクラスを使用すべきだろう。リファレンス・マニュアルには、Fileクラスのstaticなメソッドでは、毎回ファイルに対するセキュリティのチェックが実行されるが、FileInfoクラスのインスタンス・メソッドでは必ずしもそうではないといったことも記述されている。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。