天天看點

Java進階系列——File類

在做應用開發的過程中,檔案是我們經常需要接觸到的東西。在Java中,File是一個相對重要的類,在很多檔案處理上我們都會用到該類以及相關的API。但是,從名字上來看,我們可能會認為,File所代表的應該是一個檔案,實則不然,在Java中,File代表一個具體的檔案名稱,也代表一個具體目錄的名稱。如果要對File所代表的檔案進行操作,我們需要借助Java中的輸入和輸出流的操作,這裡我們不談輸入流和輸出流,我們僅僅隻是說明File的一些常用操作以及當File代表目錄時有哪些常用的特殊操作和File代表檔案時有哪些常用的操作。

1、File代表目錄或檔案時的常用操作

方法名稱 方法說明
String getName() 傳回檔案或目錄的名稱。 這隻是路徑名稱序列中的最後一個名字。 如果路徑名的名稱序列為空,則傳回空字元串。
String getParent() 傳回檔案或者目錄的父目錄字元串。如果此File對象所表示的檔案或者目錄沒有父目錄,則傳回null。
File getParentFile() 傳回檔案或者目錄的父目錄File對象。如果沒有父目錄,則傳回null。
String getPath() 傳回檔案或者目錄的路徑的字元串形式。
boolean isAbsolute() 傳回定義File對象的路徑是否是絕對路徑
String getAbsolutePath() 獲得檔案或目錄的絕對路徑的字元串表示
File getAbsoluteFile() 獲得檔案或目錄的絕對形式,相當于new File(this.getAbsolutePath()) 。
String getCanonicalPath() throws IOException 傳回檔案或目錄的路徑名的規範路徑名字元串。
File getCanonicalFile() throws IOException 傳回檔案或目錄路徑名的規範形式。 相當于new File(this.getCanonicalPath()) 。
boolean exists() 測試檔案或目錄是否存在
boolean isDirectory() 測試File對象代表的是否是目錄
boolean isFile() 測試File對象代表的是否是檔案
boolean delete() 删除File對象所表示的檔案或目錄。
void deleteOnExit() 請求在虛拟機終止時删除File對象表示的檔案或目錄。

2、File代表一個具體目錄的名稱時的常用特殊操作

如果File代表一個具體目錄名稱,那麼通過File我們可執行如下的一些操作。

方法名稱 方法說明
String[] list() 傳回目錄中的所有檔案名稱和目錄名稱構成的數組
String[] list(FilenameFilter filter) 傳回目錄中滿足指定過濾器的檔案名稱和目錄名稱構成的數組
File[] listFiles() 傳回目錄中的所有檔案名稱構成的數組
File[] listFiles(FilenameFilter filter) 傳回目錄中滿足指定過濾器的檔案和目錄構成的數組
File[] listFiles(FileFilter filter) 傳回目錄中滿足指定過濾器的檔案和目錄構成的數組
boolean mkdir() 建立目錄
boolean mkdirs() 建立目錄,包括任何必需但不存在的父目錄

3、File代表一個具體的檔案名稱時的常用特殊操作

如果File代表一個具體檔案名稱,那麼通過File我們可執行如下的一些特殊的操作。

方法名稱 方法說明
long length() 傳回檔案長度
boolean createNewFile() throws IOException 建立一個新的檔案,如果檔案已經存在,傳回false;如果檔案不存在,建立成功則傳回true