Sunday, February 2, 2014

Check if two paths using symbolic links are the same file

Source:
import java.io.*;
import java.nio.file.*;

public class TestFile {

   public static void main(String[] args) throws IOException {

      Path p1 = Paths.get("./file1");
      Path p2 = Paths.get("./file2");

      if (p1.equals(2)) {
         System.out.println("Same paths");
      } else {
         System.out.println("Different Paths");
      }

      if (Files.isSameFile(p1, p2)) {
         System.out.println("Same File");
      } else {
         System.out.println("Different File");
      }

   }
}

Output:
   $ java TestFile 
   Different Paths
   Same File

   $ ls -l file2
   lrwxrwxrwx 1 dennis dennis 5 Feb  2 07:52 file2 -> file1