|
.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」という名前のディレクトリという意味となる)。
カテゴリ:クラス・ライブラリ 処理対象:ディレクトリ&ファイル
使用ライブラリ:Fileクラス(System.IO名前空間)
使用ライブラリ:Directoryクラス(System.IO名前空間) |
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間