標籤:檔案名稱 bool 建立檔案夾 次數 電腦 編譯 path enter class
File類總結
File類概述
Java.io.File類
檔案和目錄路徑名的抽象表示形式。
把電腦中的檔案和檔案夾(目錄)封裝成了一個File對象,通過File對象中的方法可以操作檔案和檔案夾;
是一個與系統無關的類,任意的作業系統都可以使用這個類中的方法操作檔案和檔案夾
3個File類有關的單詞:
file:檔案
directory:檔案夾,目錄
path:路徑
File類的四個靜態變數
static String pathSeparator 與系統有關的路徑分隔字元;
static char pathSeparatorChar 與系統有關的路徑分割符;
路徑分割符在unix系統中是“:”,在window系統中是“;”
static String separator 與系統有關的預設名稱分隔字元。
staitc char separator 與系統有關的預設名稱分隔字元。
檔案分割符在unix系統中是“/”,在window系統中是“\”。
File類的構造方法:
File(String pathname); 通過給定路徑字串轉換為抽象路徑名來建立一個新的File執行個體。
String pathname:路徑的名稱
可以是檔案的路徑,也可以是一個檔案夾的路徑
可以是相對路徑,也可以是絕對路徑
可以是存在的路徑,也可以是不存在的。構造方法只是把字串格式的路徑轉換為對象,和路徑是否存在無關
File(String parent, String child); 根據parent路徑名稱字串和child路徑名稱字串建立一個新的File對象;把路徑分成兩部分,父路徑和子路徑
- 好處:
- 使用起來更加的靈活,子路徑和父路徑可以傳遞不同的路徑,組成File對象
- 注意:路徑是不區分大小寫
File(File parent, String child); 根據parent抽象路徑名和child 路徑名字串建立一個新的File對象
- 好處:
- 父路徑使用的File類型, 可以調用File類中的方法操作這個路徑
File類的建立和刪除功能
boolean createNewFile()建立檔案
- 建立的檔案的路徑和檔案名稱,在構造方法中給出
- 傳回值:boolean
- true:建立成功
- false:檔案已經存在,不再建立
- 注意:構造方法中給出的檔案路徑必須存在,否則會拋出異常
boolean mkdir() 建立單級檔案夾
boolean mkdirs()建立多級檔案夾
- 只能建立檔案夾,不能建立檔案
- 傳回值:
true:建立成功
false:檔案夾已經存在
- 注意:構造方法中給出的檔案路徑必須存在,否則會拋出異常
boolean delete()刪除此抽象路徑名表示的檔案或目錄
- 傳回值:
- true:刪除成功
- false:檔案/檔案夾不存在
- 注意:此方法刪除不走資源回收筒,直接在硬碟刪除
File類的判斷方法:
boolean isFile(); 判斷是檔案嗎
boolean isDirectory(); 判斷封裝的路徑是不是檔案夾
boolean exists(); 判斷File構造方法封裝的路徑是否存在
File類的擷取方法:
File getAbsoluteFile();返回此抽象路徑名的絕對路徑名形式
String getAbsolutePath();返回抽象路徑名的絕對路徑名字串
String getName();擷取路徑中最後部分的名字
String getPath();擷取構造方法中的路徑,把路徑轉換為字串
String getParent(); 返回String對象
File getParentFile();返回File對象 。擷取父路徑,返回的是檔案末尾的父路徑
long length();返迴路徑中表示的檔案路徑的位元組數,檔案夾沒有大小
File類的遍曆目錄的功能
- 1.String[] list();擷取目錄中的每一個檔案/檔案夾的名字,並且存到String數組中
- 2.File[] listFiles() 擷取目錄中的每一個檔案/檔案夾的File對象,並且存到File數組中
- 注意:
- 構造方法中傳遞的目錄必須存在,否則就會拋出null 指標異常
- 構造方法中傳遞的必須是目錄,不能是檔案,只能遍曆目錄,否則就會拋出null 指標異常
- 這個方法可以擷取隱藏檔案或者隱藏檔案夾
- static File[] listRoots(); 列出全部的跟目錄
遞迴
遞迴:
方法自己調用自己;
作用:當調用方法的時候,方法的主體不變,但是每次調用方法的參數改變,就可以使用遞迴
遞迴分為兩種:直接遞迴和間接遞迴
直接遞迴:方法自己調用自己
間接遞迴:可以是A調用B,B再調用A
注意:
- 遞迴一定要有條件限定,保證遞迴能夠停下來,否則發生棧記憶體溢出
- 在遞迴中雖然有限定條件,但是遞迴次數不能太多,否則也會發生棧記憶體溢出
- 構造方法,禁止遞迴,編譯報錯
-
java學習筆記IO之File類