JAVA基礎學習總結,day18(file類,遞歸)

File類:

概述:java.io.File類是文件和目錄路徑名的抽象表示,用於文件和目錄的創建、查找、刪除等操作
構造方法:
public File(String pathname) :通過將給定的路徑名字符串轉換爲抽象路徑名來創建新的 File實例。
public File(String parent, String child) :從父路徑名字符串和子路徑名字符串創建新的 File實例。
public File(File parent, String child) :從父抽象路徑名和子路徑名字符串創建新的 File實例

注意事項:
1.一個File對象代表硬盤中實際存在的一個文件或者目錄
2.無論路徑的文件或者目錄是否存在,都不影響File對象的創建

常用方法
public String getAbsolutePath() :返回此File的絕對路徑名字符串。
public File getAbsoluteFile(): 返回此File的絕對路徑名Flie對象
public String getPath() :將此File轉換爲路徑名字符串。File對象是以什麼路徑創建的就獲取什麼路徑 如果File對象是絕對路徑,就獲得絕對路徑,如果是相對路徑就獲得相對路徑
public String getName() :返回由此File表示的文件或目錄的名稱。
public long length() :返回由此File表示的文件的長度。

絕對路徑:從盤符開始的路徑,這是一個完整的路徑
相對路徑:相對於項目目錄的路徑,這是一個便捷的路徑,開發中常用

判斷功能的方法
public boolean exists() :此File表示的文件或目錄是否實際存在。
public boolean isDirectory() :此File表示的是否爲目錄。(判斷是不是文件夾或者存不存在)
public boolean isFile() :此File表示的是否爲文件。 (判斷是不是文件或者存不存在)
endsWith(string str): 判斷此文件是否跟括號內的文件名後綴一樣

創建刪除功能的方法
public boolean createNewFile() :當且僅當具有該名稱的文件尚不存在時,創建一個新的空文件。
public boolean delete() :刪除由此File表示的文件或目錄。1.刪除的文件或文件夾不走回收站,2.只能刪除空文件夾,3.刪除的文件要存在
public boolean mkdir() :創建由此File表示的目錄。(創建單個文件夾)
public boolean mkdirs() :創建由此File表示的目錄,包括任何必需但不存在的父目錄。 (創建多級文件夾)

文件夾遍歷
public String[] list() :返回一個String數組,獲取File文件夾中的所有文件名和文件夾名的字符串形式
public File[] listFiles() :返回一個File數組,獲取File文件夾中的所有文件名的絕對路徑和文件夾名的絕對路徑的File對象形式
public File[] listFiles(FileFilter fileFilter): 遍歷文件過濾器優化

遞歸:

概述: 方法自己調用自己
使用遞歸:找規律,找出口
遞歸的注意事項:
1.遞歸次數太多,會出現溢出異常。
2.遞歸一定要有出口,出口不能太晚,太晚也會出現異常

遞歸打印多級文件夾

public class DiGuiDemo2 {    
public static void main(String[] args) {       
// 創建File對象           
File dir  = new File("D:\\aaa");       
// 調用打印目錄方法          
printDir(dir);    
}      
public static void  printDir(File dir) {       
// 獲取子文件和目錄           
File[] files = dir.listFiles();       
// 循環打印          
/*            
判斷:            
當是文件時,打印絕對路徑.            
當是目錄時,繼續調用打印目錄的方法,形成遞歸調用.          
*/           
     for (File file : files) {    
	 // 判斷                     
	 if (file.isFile()) {               
	 	// 是文件,輸出文件絕對路徑                         
	 	System.out.println("文件名:"+ file.getAbsolutePath());                       
	 } else {               
	 	// 是目錄,輸出目錄絕對路徑                   
	 	System.out.println("目錄:"+file.getAbsolutePath());               
	 	// 繼續遍歷,調用printDir,形成遞歸                  
		printDir(file);            
	}        
     }    
}
}   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章