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:
- Reading and Writing Files in Java
- How to Read and Write Text Files in Java
- How to Read and Write Binary Files in Java
- Reading and Writing Files using Java NIO API
- How to read a file line by line in Java
✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.