Java - File getCanonicalFile() 方法



描述

Java File getCanonicalPath() 方法返回此抽象路径名的规范路径名字符串。此方法会从路径名中删除冗余名称,例如 "." 和 ".."。

声明

以下是java.io.File.getCanonicalPath() 方法的声明:

public String getCanonicalPath()

参数

返回值

该方法返回规范路径名字符串。

异常

  • IOException − 如果发生 I/O 错误。

  • SecurityException − 如果无法访问系统属性值。

示例 1

以下示例演示了 Java File getCanonicalPath() 方法的用法。我们创建了两个 File 引用。然后,我们使用当前目录中不存在的 test.txt 创建一个 File 对象。然后,我们使用 createNewFile() 方法创建该文件。现在,使用 getCanonicalFile() 方法获取文件,并使用 getCanonicalPath() 方法打印路径,然后我们使用 exists() 方法检查文件是否存在。

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();
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

F:\Workspace\test.txt Exists? true

示例 2

以下示例演示了 Java File getCanonicalFile() 方法的用法。我们创建了一个 File 引用。然后,我们使用提供的目录中存在的 F:/test.txt 创建一个 File 对象。现在,使用 getCanonicalFile() 方法获取文件并打印其路径。

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/../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();
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

File: F:\test.txt

示例 3

以下示例演示了 Java File getCanonicalFile() 方法的用法。我们创建了一个 File 引用。然后,我们使用提供的目录中存在的 F:/test 目录创建一个 File 对象。现在,使用 getCanonicalFile() 方法获取目录并打印其路径。

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/../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();
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Directory: F:\Test
java_file_class.htm
广告