How do I check if a file exists in Java? How do I check if a file exists in Java? java java

How do I check if a file exists in Java?


Using java.io.File:

File f = new File(filePathString);if(f.exists() && !f.isDirectory()) {     // do something}


I would recommend using isFile() instead of exists(). Most of the time you are looking to check if the path points to a file not only that it exists. Remember that exists() will return true if your path points to a directory.

new File("path/to/file.txt").isFile();

new File("C:/").exists() will return true but will not allow you to open and read from it as a file.


By using nio in Java SE 7,

import java.nio.file.*;Path path = Paths.get(filePathString);if (Files.exists(path)) {  // file exist}if (Files.notExists(path)) {  // file is not exist}

If both exists and notExists return false, the existence of the file cannot be verified. (maybe no access right to this path)

You can check if path is a directory or regular file.

if (Files.isDirectory(path)) {  // path is directory}if (Files.isRegularFile(path)) {  // path is regular file}

Please check this Java SE 7 tutorial.