Java でファイルやフォルダの有無を確認する方法: クラス
File のメソッド
exists()、
isFile()、
isDirectory() と、
Path と
Files を使うモダンな
NIO アプローチ —
Files.exists()、
Files.isRegularFile()、
Files.isDirectory()。
TOCTOU 問題と、なぜチェックはエラー処理の代わりにならないのかも解説します。
exists() の直後でも
FileNotFoundException や
AccessDeniedException は起こり得るため、常に
try ブロックや可能なら
try-with-resources を使いましょう。加えて実践編として、存在する場合のファイル読み取り、
Files.createDirectory() および
Files.createDirectories() によるディレクトリ作成、相対パスと絶対パスの扱いも取り上げます。