天天看點

File

file是java.io包下代表與平台無關的檔案和目錄,則程式中操作檔案和目錄,都可以通過file類來完成。

file能建立、删除、重命名檔案和目錄。file不能通路檔案内容本身,如果通路檔案内容本身,則需要使

用輸入/輸出流。

file類可以使用檔案路徑字元串來建立file執行個體,該檔案路徑字元串既可以是絕對路徑,也可以是相對路

徑。在預設情況下,系統總是依據使用者的工作路徑來解釋相對路徑。

建立file對象後,可以調用file對象的方法來通路。

常用的方法如下:

1、通路檔案名相關的方法

(1) string getname():傳回此檔案對象所表示的檔案名或路徑名。

(2) string getpath():傳回此file對象所對應的路徑名。

(3) file getabsolutefile():傳回此file對象所對應的絕對路徑指向的file對象。

(4) string getabsolutepath():傳回此file對象所對應的絕對路徑。

(5) string getparent():傳回此file對象所對應的目錄的父目錄,以工作路徑為準,如果已經在工作

路徑的根目錄下,則傳回null,否則傳回父目錄。

(6) boolean renameto(file newname):重命名此file對象所對應的檔案或目錄,成功傳回true,否

則傳回false。

2、檔案檢測相關的方法

(1) boolean exists():判斷file對象所對應的檔案或目錄是否存在。

(2) boolean canwrite():判斷file對象所對應的檔案和目錄是否可寫。

(3) boolean canread():判斷file對象所對應的檔案和目錄是否可讀。

(4) boolean isfile():判斷file對象所對應的是否是檔案。

(5) boolean isdirectory():判斷file對象所對應的是否是目錄。

(6) boolean isabsolute():判斷file對象所對應的檔案或目錄是否絕對路徑。例如:如果在

unix/linux等系統上,如果路徑名的開頭是/,則表明file對象對應一個絕對路徑,在windows等系統

上,如果路徑開頭是盤符,則說明它是一個絕對路徑。

1、 擷取正常檔案資訊

(1) long lastmodified():傳回檔案的最後修改時間。

(2) long length():傳回檔案内容的長度。

2、 檔案操作相關的方法

(1) boolean createnewfile():當此file對象對應的檔案不存在時,建立一個該file對象所對應的文

件,建立成功傳回true,否則傳回false。

(2) boolean delete():删除file對象所在的檔案或路徑。注意:當使用這個方法時,如果是删除的一

個檔案夾,檔案夾中有内容時檔案夾不會被删除,如果是個空檔案夾則可以删除成功。

3、 目錄操作相關的方法

(1) boolean mkdir():建立一個file對象所對應的目錄,建立的是目錄而不是檔案。注意:這個方

法,如果父級目錄不存在時,則子目錄無法建立。

(2) boolean mkdirs():建立一個file對象所對應的所有目錄,如果上級目錄不存在,會同時将上級目

錄建立出來。

(3) file[] listfile():列出file對象的所有子檔案和路徑,傳回file數組。

(4) static file[] listroots():列出系統所有根路徑。

遞歸

方法定義中調用方法本身的現象

要有出口,否則就是死遞歸

次數不能太多,否則就記憶體溢出

構造方法不能遞歸使用