In this quick article, you'll learn how to check if a file exists in the file system using Java.

Using Files.exists() Method

In Java 7 and higher, you can use the NIO API Files.exists() static method to determine if a file is available on the on given path or not:

if(Files.exists(Paths.get("access.log"))) {
    System.out.println("File exits.");
} else {
    System.out.println("File doesn't found.");
}

The above method will return true even if the path is a directory. To make sure that the path exists and is a regular file, you can combine Files.exists() method with Files.isRegularFile():

Path path = Paths.get("access.log");

// check if file exists and is a regular file
if (Files.exists(path) && Files.isRegularFile(path)) {
    System.out.println("Path exits and is a regular file.");
} else {
    System.out.println("Path not found.");
}

Similarly to check if a file doesn't exist, you can use another method called Files.notExists() as shown below:

if(Files.notExists(Paths.get("access.log"))) {
    System.out.println("File doesn't found.");
} else {
    System.out.println("File is available.");
}

Using File.exists() Method

In Java 6 or below, you can use File.exists() method to determine whether a file exists in your file system as shown below:

File file = new File("access.log");

// check if file exists
if (file.exists()) {
    System.out.println("File found.");
} else {
    System.out.println("Path not found.");
}

To check if a file exists and is not a folder, you can do the following:

File file = new File("access.log");

// check if file exists & not a folder
if (file.exists() && file.isFile()) {
    System.out.println("File found.");
} else {
    System.out.println("Path not found.");
}

Further Reading

You may be interested in other Java I/O articles:

✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.