1. 程式人生 > >Java 檔案與目錄管理

Java 檔案與目錄管理

目錄是管理檔案的特殊機制,同類檔案儲存在同一個目錄下不僅可以簡化檔案管理,而且還可以提高工作效率。Java 語言在 java.io 包中定義了一個 File 類專門用來管理磁碟檔案和目錄。

每個 File 類物件表示一個磁碟檔案或目錄,其物件屬性中包含了檔案或目錄的相關資訊。通過呼叫 File 類提供的各種方法,能夠建立、刪除、重名名檔案、判斷檔案的讀寫許可權以及是否存在,設定和查詢檔案的最近修改時間等。不同作業系統具有不同的檔案系統組織方式,通過使用 File 類物件,Java 程式可以用與平臺無關的、統一的方式來處理檔案和目錄。

建立 File 類的物件

建立 File 類物件需要給出其所對應的檔名或目錄名,File 類的構造方法如表 10-9 所示。

表 10-9 File 類的構造方法
構造方法 功能描述
public File(String path) 指定與 File 物件關聯的檔案或目錄名,path 可以包含路徑及檔案和目錄名
public File(String path, String name) 以 path 為路徑,以 name 為檔案或目錄名建立 File 物件
public File(File dir, String name) 用現有的 File 物件 dir 作為目錄,以 name 作為檔案或目錄名建立 File 物件
public File(UR ui) 使用給定的統一資源定位符來定位檔案

在使用 File 類的構造方法時,需要注意下面幾點:
(1)path 引數可以是絕對路徑,也可以是相對路徑,也可以是磁碟上的某個目錄。
( 2)由於不同作業系統使用的目錄分隔符不同,可以使用 System 類的一個靜態變數System.dirSep,來實現在不同作業系統下都通用的路徑。如:
“d:”+System.dirSep+”myjava”+System.dirSep+”file”

獲取屬性和操作

藉助 File 物件,可以獲取檔案和相關目錄的屬性資訊並可以對其進行管理和操作。表 10-10列出了其常用的方法及說明。

表 10-10 File 的常用方法
方法 功能描述
boolean canRead() 如果檔案可讀,返回真,否則返回假
boolean canWrite() 如果檔案可寫,返回真,否則返回假
boolean exists() 判斷檔案或目錄是否存在
boolean createNewFile() 若檔案不存在,則建立指定名字的空檔案,並返回真,若不存在返回假
boolean isFile() 判斷物件是否代表有效檔案
boolean isDirectory() 判斷物件是否代表有效目錄
boolean equals(File f) 比較兩個檔案或目錄是否相同
string getName() 返回檔名或目錄名的字串
string getPath() 返回檔案或目錄路徑的字串
long length() 返回檔案的位元組數,若 File 物件代表目錄,則返回 0
long lastModified() 返回檔案或目錄最近一次修改的時間
String[] list() 將目錄中所有檔名儲存在字串陣列中並返回,若 File 物件不是目錄返回 null
boolean delete() 刪除檔案或目錄,必須是空目錄才能刪除,刪除成功返回真,否則返回假
boolean mkdir() 建立當前目錄的子目錄,成功返回真,否則返回假
boolean renameTo(File newFile) 將檔案重新命名為指定的檔名

【例 10-11】判斷輸入的絕對路徑是代表一個檔案或一個目錄。若是檔案輸出此檔案的絕對路徑,並判斷此檔案的檔案屬性(是否可讀寫或隱藏);若是目錄則輸出該目錄下所有檔案(不包括隱藏檔案)(檢視原始碼)。

執行結果如圖 10-11 所示:


圖 10-11  輸入一個檔案路徑後例 10_11 的執行結果