Determining If Two Filename Paths Refer to the Same File

A filename path may include redundant names such as `.' or `..' or symbolic links (on UNIX platforms). File.getCanonicalFile() converts a filename path to a unique canonical form suitable for comparisons.
File file1 = new File("./filename"); File file2 = new File("filename"); // Filename paths are not equal boolean b = file1.equals(file2); // false // Normalize the paths try { file1 = file1.getCanonicalFile(); // c:\almanac1.4\filename file2 = file2.getCanonicalFile(); // c:\almanac1.4\filename } catch (IOException e) { } // Filename paths are now equal b = file1.equals(file2); // true

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.