.NET TIPS

ファイルやディレクトリの存在を確認するには?

デジタルアドバンテージ
2004/09/17

 ファイルやディレクトリがすでに存在するかどうかを調べるには、ファイルについてはFileクラス(System.IO名前空間)のExistsメソッド、ディレクトリについてはDirectoryクラス(System.IO名前空間)のExistsメソッドを使用する。

 それぞれのExistsメソッドは静的なメソッドであるため、次のようにして直接呼び出して使用できる。パラメータにはファイルやディレクトリの絶対パスあるいは相対パスを文字列で指定する。

if (File.Exists(filePath)) {
  // filePathのファイルは存在する
} else {
  // filePathのファイルは存在しない
}

if (Directory.Exists(dirPath)) {
  // dirPathのディレクトリは存在する
} else {
  // dirPathのディレクトリは存在しない
}
File.ExistsメソッドとDirectory.Existsメソッドの記述例(C#)
 
If File.Exists(filePath) Then
  ' filePathのファイルは存在する
Else
  ' filePathのファイルは存在しない
End If

If Directory.Exists(dirPath) Then
  ' dirPathのディレクトリは存在する
Else
  ' dirPathのディレクトリは存在しない
End If
File.ExistsメソッドとDirectory.Existsメソッドの記述例(VB.NET)

 各Existsメソッドは、指定されたパスが実際に存在しなくてもFalseを返すだけなので、ファイルやディレクトリを新規作成したりオープンしたりする前にその存在を確認することで、無用な例外の発生を避けることができる。

 また、File.ExistsメソッドとDirectory.Existsメソッドを組み合わせれば、与えられたパスがファイルかディレクトリか(あるいは存在しないか)の判別が可能である。

 なお、Directory.Existsメソッドのパラメータに指定するディレクトリへのパス文字列は、文字列の最後が「\」であってもよい。実際には、パラメータが「\」で終わっていない場合には「\」が付加されて処理されることになる。このため、例えば「C:」を指定した場合、それは「C:\」として扱われる(蛇足だが、「C」のみを指定した場合には、カレント・ディレクトリにある「C」という名前のディレクトリという意味となる)。End of Article

カテゴリ:クラス・ライブラリ 処理対象:ディレクトリ&ファイル
使用ライブラリ:Fileクラス(System.IO名前空間)
使用ライブラリ:Directoryクラス(System.IO名前空間)
 
この記事と関連性の高い別の.NET TIPS
ディレクトリを作成/削除/リネーム/移動するには?
ファイルやディレクトリの一覧を取得するには?
ファイルやディレクトリをすべてのサブディレクトリから検索するには?
ディレクトリが空かどうかを調べるには?
ファイルやディレクトリの一覧を効率的に取得するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ


- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る
- PR -

ホワイトペーパーTechTargetジャパン

ソリューションFLASH

「ITmedia マーケティング」新着記事

ブランドコンテンツは国境を超えて拡散する
BrandedとSocial@Ogilvy(ソーシャル・アット・オグルヴィ)が主催するアジア最大規模の...

(前編)顧客思考を追究するトイザらスの「脱オムニチャネル」
徹底した顧客重視の視点により、トイザらスは「オムニチャネル」から「シームレスリテイ...

ジャストシステム、LINEの企業スタンプに関するユーザーの行動調査の結果を発表
ジャストシステムは10月30日、セルフ型アンケートサービス「Fastask(ファストアスク)」...