Java - File getCanonicalPath() method



Description

The Java File getCanonicalPath() method returns the canonical pathname string of this abstract pathname. This method removes redundant names such as "." and ".." from the pathname.

Declaration

Following is the declaration for java.io.File.getCanonicalPath() method −

public String getCanonicalPath()

Parameters

NA

Return Value

The method returns the canonical pathname string.

Exception

  • IOException − If an I/O error occurs.

  • SecurityException − If a system property value can not be accessed.

Example - Usage of File getCanonicalPath() method

The following example shows the usage of Java File getCanonicalPath() method. We've created two File references. Then we're creating a File Object using test.txt which is not present in the current directory. Then we've created the file using createNewFile() method. Now using getCanonicalFile() method, we're getting the file and getting the path of file using getCanonicalPath() method and then we're checking if file exists using exists() method.

FileDemo.java

package com.tutorialspoint;

import java.io.File;

public class FileDemo {
   public static void main(String[] args) {      
      File f = null;
      File f1 = null;
      String path = "";
      boolean bool = false;
      
      try {
         // create new files
         f = new File("test.txt");
         
         // create new file in the system
         f.createNewFile();
         
         // create new file object from the absolute path
         f1 = f.getCanonicalFile();
         
         // returns true if the file exists
         bool = f1.exists();
         
         // returns absolute pathname
         path = f1.getCanonicalPath();
         
         // if file exists
         if(bool) {
         
            // prints the file
            System.out.print(path+" Exists? "+ bool);
         }
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result−

F:\Workspace\Tester\test.txt Exists? true

Example - Usage of File getCanonicalPath() method

The following example shows the usage of Java File getCanonicalPath() method. We've created a File reference. Then we're creating a File Object using F:/test.txt which is present in the provided directory. Now using getCanonicalFile() method, we're getting the file and printing its path after getting the absolute path of file using getCanonicalPath() method.

FileDemo.java

package com.tutorialspoint;

import java.io.File;

public class FileDemo {
   public static void main(String[] args) {      
      File f = null;
      
      try {
         // create new files
         f = new File("F:/test.txt");         
    
         // get the file
         File f1 = f.getCanonicalFile();
         
         // prints the file path
         System.out.println("File: "+f1.getCanonicalPath());
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

File: F:\test.txt

Example - Usage of File getCanonicalPath() method

The following example shows the usage of Java File getCanonicalPath() method. We've created a File reference. Then we're creating a File Object using F:/test directory which is present in the provided location. Now using getCanonicalFile() method, we're getting the directory and its path using getCanonicalPath() method.

FileDemo.java

package com.tutorialspoint;

import java.io.File;

public class FileDemo {
   public static void main(String[] args) {      
      File f = null;
      
      try {
         // create new files
         f = new File("F:/test");         
    
         // get the file
         File f1 = f.getCanonicalFile();
         
         // prints the file path
         System.out.println("Directory: "+f1.getCanonicalPath());
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Directory: F:\test
java_io_file_methods.htm
Advertisements