在做應用開發的過程中,檔案是我們經常需要接觸到的東西。在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 |