|
.NET TIPS ファイルをコピー/削除/リネーム/移動するには?デジタルアドバンテージ2003/07/04 |
![]() |
|
|
|
ファイルに対するコピー/削除/リネーム/移動などの操作はすべてFileクラス(System.IO名前空間)にstaticなメソッドとしてまとめられている。
ファイルのコピー
ファイルをコピーするためには、FileクラスのCopyメソッドを使用する(コードはC#の場合)。
File.Copy("origfile.txt", "newfile.txt");
File.Copy("origfile.txt", @"backup\newfile.txt");
File.Copy("origfile.txt", @"c:\tmp\newfile.txt");
パラメータには、コピー元とコピー先のファイル名を指定する。それぞれのパラメータでは、カレント・ディレクトリのファイルや、ファイルの相対パス、ファイルの絶対パスを指定することができる。なお、「@"c:\tmp\newfile.txt"」という記述は、「"c:\\tmp\\newfile.txt"」と同等だ。
ディレクトリやファイルにアクセス権がない場合、コピー元のファイルがない場合、コピー先のファイルがすでに存在する場合などには例外が発生する。すでにコピー先のファイルが存在していて上書きでコピーを行う場合には、3つ目のパラメータとしてtrueを指定すればよい。
File.Copy("origfile.txt", "newfile.txt", true);
File.Copy("origfile.txt", @"backup\newfile.txt", true);
File.Copy("origfile.txt", @"c:\tmp\newfile.txt", true);
ファイルの削除
ファイルの削除はFileクラスのDeleteメソッドを使用する。パラメータに指定する削除対象となるファイル名は、Copyメソッドと同様に、カレント・ディレクトリのファイルや、ファイルの相対パス、ファイルの絶対パスを指定することができる。
File.Delete("newfile.txt");
File.Delete(@"backup\newfile.txt");
File.Delete(@"c:\tmp\newfile.txt");
ファイルのリネーム(名前変更)と移動
ファイルのリネーム(名前変更)や移動は、FileクラスのMoveメソッドを使用する。パラメータには、移動元と移動先のファイル名を指定する。それぞれには、カレント・ディレクトリのファイルや、ファイルの相対パス、ファイルの絶対パスを指定できる。
File.Move("origfile.txt", "newfile.txt");
File.Move("origfile.txt", @"backup\orig.txt");
File.Move("origfile.txt", @"c:\tmp\newfile.txt");
移動先のファイル名が移動元と異なる場合には、ファイル名をリネームしたことになる(FileクラスにはRenameメソッドはない)。ただし、ファイル名を変更しない場合でも、移動先にはファイル名を指定しなければならない(移動先としてディレクトリの指定はできない)。
FileInfoクラスとの違い
本稿で述べたファイルの操作は、FileInfoクラスを使用しても同様に行うことができる。Fileクラスはstaticなメソッドばかりからなるユーティリティ的なクラスであるのに対して、FileInfoクラスではまず特定のファイルを指定してインスタンスを作成し、それに対して各メソッドの呼び出しを行う。1つのファイルに対して一連のファイル操作を行う場合にはFileInfoクラスを使用すべきだろう。リファレンス・マニュアルには、Fileクラスのstaticなメソッドでは、毎回ファイルに対するセキュリティのチェックが実行されるが、FileInfoクラスのインスタンス・メソッドでは必ずしもそうではないといったことも記述されている。
| カテゴリ:クラス・ライブラリ 処理対象:ディレクトリ&ファイル 使用ライブラリ:Fileクラス(System.IO名前空間) |
|
||||||||||||||||||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


