当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java File getCanonicalFile()用法及代码示例


getCanonicalFile()方法是File类的一部分。该函数返回给定文件对象的Canonical File。如果文件对象的File路径为Canonical,则仅返回当前文件对象的File。
规范文件始终是绝对且唯一的,该函数会从文件路径中删除“。”(如果存在)。

例如:如果我们使用路径“program.txt”创建一个文件对象,则该文件对象指向存在于可执行程序所在目录中的文件(如果使用的是IDE,它将指向保存该程序的文件)。此处上述文件的路径为“program.txt”,但该路径不是绝对路径(即不完整)。函数getCanonicalFile()将返回一个文件,该文件的路径将是根目录中的绝对唯一路径。现有文件的规范形式可能与相同的不存在文件的规范形式不同,并且现有文件的规范形式在被删除时可能与同一文件的规范形式不同。
函数签名:

public File getCanonicalFile()

函数语法:


file.getCanonicalFile()

参数:该函数不接受任何参数。

返回值:此函数返回File对象,即给定File对象的规范文件。

异常此方法引发以下异常

  • 安全异常 :如果无法访问所需的属性值。
  • I /O异常:如果发生I /O异常。

下面的程序将说明getCanonicalFile()方法的使用:

范例1:这里“program.txt”是当前工作目录中存在的文件

// Java program to demonstrate the 
// use of getCanonicalFile() function 
  
import java.io.*; 
  
public class solution { 
    public static void main(String args[]) 
    { 
  
        // try-catch block to handle exceptions 
        try { 
  
            // Create a file object 
            File f = new File("program.txt"); 
  
            // Get the Canonical file 
            // of the given file f 
            File canonical = f.getCanonicalFile(); 
  
            // Display the file path of the file object 
            // and also the file path of Canonical file 
            System.out.println("Original file path: "
                               + f.getPath()); 
            System.out.println("Canonical file path: "
                               + canonical.getPath()); 
        } 
        catch (Exception e) { 
            System.err.println(e.getMessage()); 
        } 
    } 
}

输出:

Original file path: program.txt
Canonical file path: C:\Users\pc\eclipse-workspace1\arnab\program.txt

范例2:我们获得了一个File对象,我们必须根据该文件对象创建规范文件。

// Java program to demonstrate the 
// use of getCanonicalFile() function 
  
import java.io.*; 
  
public class solution { 
    public static void main(String args[]) 
    { 
  
        // try-catch block to handle exceptions 
        try { 
  
            // Create a file object 
            File f 
                = new File("c:\\users\\..\\program"); 
  
            // Get the Canonical file 
            // of the given file f 
            File canonical = f.getCanonicalFile(); 
  
            // Display the file path of the file object 
            // and also the file path of Canonical file 
            System.out.println("Original file path: "
                               + f.getPath()); 
            System.out.println("Canonical file path: "
                               + canonical.getPath()); 
        } 
        catch (Exception e) { 
            System.err.println(e.getMessage()); 
        } 
    } 
}

输出:

Original file path: c:\users\..\program
Canonical file path: C:\program

这些程序可能无法在在线IDE中运行。请使用离线IDE并设置文件的路径



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 File getCanonicalFile() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。