System.IO.File.Existsメソッドを使用することにより、ファイルが存在しているか調べることができます。File.ExistsメソッドがTrueを返せば、ファイルが存在します。
同様にディレクトリがあるか調べるには、System.IO.Directory.Existsメソッドを使います。
File.Existsメソッドでフォルダの存在を調べることはできません。File.Existsメソッドに存在するフォルダを指定しても結果はFalseになります。また、パス名として無効な文字列を指定しても、Falseです。さらには、たとえファイルが存在しても、ファイルを読み取るのに十分なアクセス許可を持たない場合も、Falseです。
Directory.Existsメソッドに指定するフォルダ名は、パスの最後に"\"があってもなくても、"C:"のようであっても、問題ありません。
次の例では、ファイル"C:\test.txt"が存在しているかを調べています。
Dim fileName As String = "C:\test.txt" If System.IO.File.Exists(fileName) Then MessageBox.Show("'" + fileName + "'は存在します。") Else MessageBox.Show("'" + fileName + "'は存在しません。") End If
string fileName = @"C:\test.txt"; if (System.IO.File.Exists(fileName)) { MessageBox.Show("'" + fileName + "'は存在します。"); } else { MessageBox.Show("'" + fileName + "'は存在しません。"); }
補足:.NET Framework 2.0以降のVB.NETでは、My.Computer.FileSystem.FileExistsメソッドでファイルの存在を、My.Computer.FileSystem.DirectoryExistsメソッドでフォルダの存在を確認することもできます。