Java Files isSameFile()

In this guide, you will learn about the Files isSameFile() method in Java programming and how to use it with an example.

1. Files isSameFile() Method Overview


The isSameFile(Path path1, Path path2) method belongs to the Files class in Java. It's used to test whether two Path objects locate the same file. This method helps determine if two paths truly point to the same file or directory in the file system, which can be especially useful when dealing with symbolic links or file system aliases.


Files.isSameFile(Path path1, Path path2) throws IOException


- path1: The first path to compare.

- path2: The second path to compare.

Key Points:

- The method returns true if the two paths locate the same file; false otherwise.

- This method considers symbolic links, file system aliases, etc., to determine file equality.

- It throws an IOException if an I/O error occurs, or the file does not exist.

2. Files isSameFile() Method Example

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class IsSameFileExample {
    public static void main(String[] args) {
        Path path1 = Paths.get("path/to/file1.txt");
        Path path2 = Paths.get("path/to/file2.txt");

        try {
            boolean isSameFile = Files.isSameFile(path1, path2);
            System.out.println("Are both paths pointing to the same file? " + isSameFile);
        } catch (IOException e) {


Are both paths pointing to the same file? false


In the example, we define two Path objects pointing to different file paths. We then call the Files.isSameFile() method to check if they locate the same file. In this case, the method returns false, and the output reflects that the paths point to different files. If an I/O error occurs, it will be caught and printed to the console.