Java 檔案與目錄管理
阿新 • • 發佈:2019-02-17
目錄是管理檔案的特殊機制,同類檔案儲存在同一個目錄下不僅可以簡化檔案管理,而且還可以提高工作效率。Java 語言在 java.io 包中定義了一個 File 類專門用來管理磁碟檔案和目錄。
每個 File 類物件表示一個磁碟檔案或目錄,其物件屬性中包含了檔案或目錄的相關資訊。通過呼叫 File 類提供的各種方法,能夠建立、刪除、重名名檔案、判斷檔案的讀寫許可權以及是否存在,設定和查詢檔案的最近修改時間等。不同作業系統具有不同的檔案系統組織方式,通過使用 File 類物件,Java 程式可以用與平臺無關的、統一的方式來處理檔案和目錄。
建立 File 類的物件
建立 File 類物件需要給出其所對應的檔名或目錄名,File 類的構造方法如表 10-9 所示。
構造方法 | 功能描述 |
---|---|
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列出了其常用的方法及說明。
方法 | 功能描述 |
---|---|
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 的執行結果