1629. 按鍵持續時間最長的鍵
961
2025-04-05
文章目錄
構造方法
方法
判斷功能
創建刪除
目錄遍歷
遞歸
文件過濾器
java.io.File類,對文件和文件夾進行操作。
directory:文件夾/目錄;path:路徑
pathSeparator 與系統相關的路徑分隔符 pathSeparatorChar win:; linux::
separator 與系統相關默認名稱分隔符 separatorChar win:\ linux:/
絕對路徑:一個完整路徑
相對路徑:一個簡化路徑,當前項目的根目錄
注意:路徑不區分大小寫,\是轉移字符,\代表一個普通的反斜杠
File( String pathname) 通過將給定路徑名字符串轉化為抽象路徑名來創建一個新File實例。 路徑pathname 可以不存在
File(String parent, String child ) pathname = parent 父路徑 + child 子路徑
File(File parent, String child ),使用File的方法對路徑進行操作,再使用路徑創建對象。
public String getAbsolutePath( ) : 返回此File的絕對路徑名字符串。
public String getPath( ) :將此File轉換為路徑名字符串,相對或者絕對路徑。
public String getName( ):返回由此File表示的文件或者目錄名稱。路徑結尾
public String length() : 返回由此File表示的文件的長度/大小。以字節為單位,文件夾不能獲取大小(linux文件夾有大小),路徑不存在返回0。
String toString() :打印路徑
public boolean exists( ) :此File表示的文件或者目錄是否存在,判斷構造方法中的路徑是否存在。
public boolean isDirectory ( ) :此File是否為目錄。判斷構造方法中的路徑是否以文件夾結尾。路徑不存在返回false。
public boolean isFile ( ) :此File是否為目錄文件。判斷構造方法中的路徑是否以文件結尾。路徑不存在返回false。
public boolean createNewFile( ) :當具有該名稱文件不存在時,創建一個新的空文件。創建文件的路徑和名稱在構造方法中給出,只能創建文件,文件夾不能創建,且路徑必須存在。
createNewFile聲明了拋出了IOException,需要throws
public boolean delete( ) :刪除由此File表示的文件或者目錄。硬盤刪除。
public boolean mkdir( ) :創建由此File表示的目錄。創建單級文件夾,只能創建文件夾,不能創建文件
public boolean mkdirs( ) :創建由此File表示的目錄。包括任何必須或者不存在的父目錄。創建單級/多級文件夾,只能創建文件夾,不能創建文件
public String[ ] list( ):返回一個String數組,表示該File目錄中的所有子文件或目錄。路徑不能帶文件,可以獲得隱藏文件夾。打印會打印子目錄。
public File[ ] listFiles( ):返回一個File數組,表示該File目錄中的所有子文件或目錄。打印會打印子目錄路徑。
list方法和listFiles方法遍歷的是構造方法給出的目錄,如果構造方法中給出的目錄不存在,會拋出空指針異常,如果構造方法中給出的不是目錄,也會拋出空指針異常(NullPointerException)。
遞歸
直接遞歸,間接遞歸
要保證遞歸能夠停下來且遞歸次數不能太多,負責會發生棧內存溢出(StackOverflowError)。
構造方法,禁止遞歸
內存中有多個遞歸方法,效率低下
文件過濾器
FileFilter接口
boolean accept(File pathname):File pathname:使用ListFiles遍歷目錄,得到每一個文件對象
File[ ] listFiles( FilenameFilter filter)
File dir ; File[ ] files = dir.listFiles( new FileFilter實現類)
在實現類里進行方法重寫accept方法,返回true則進行返回回去路徑
boolean accept(File dir , String name):測試指定文件是否應該包含在某一文件列表中。String name:使用ListFiles遍歷目錄,得到每一個文件/文件夾名稱
兩個過濾器沒有實現類,需要自己進行寫實現類,重寫acceot方法,在方法中自己定義過濾規則。
File[ ] files = dir.listFiles( ( File d, String name) ->{
return new File(d,name).isDirectory );
});
上述的簡化lambda:
File[ ] files = dir.listFiles( ( d , name) -> new File(d,name).isDirectory );
Java
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。