當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。