在學習流File類后,我們可以讓系統遍歷輸出文件夾下面的文件,這里要用到遞歸方法,所謂遞歸就像是剝洋蔥,一層一層剝,先打印第一級文件夾下面的文件,如果還有第二季文件夾,那么繼續遞歸方法,一直到文件夾最末端,即全是純文件為止;
package A_January;import java.io.File;/** * Created by Administrator on 17-1-18. */public class FileTest3 { public static void main(String[] args) { File file=new File("E://☆日韓電影"); getAllFiles(file); } //自定義getAllFiles方法: public static void getAllFiles(File file){//接收的是文件形式; System.out.PRintln(file.getAbsolutePath());//打印絕對路徑; if (file.isDirectory()) { //如果file是文件夾,就把file這個文件夾里的所有文件都放到下文的files[]數組中; File files[]=file.listFiles();//把文件夾里的東西都放到數組里面; //把files數組中的文件(包含數據文件和文件夾)一個一個遍歷給出; for (File f : files) { if (f.isFile()){ System.out.println(f.getName()); }else{ //否則回到方法再次執行,遞歸下去; //遞歸就是剝洋蔥,一層一層往下剝; getAllFiles(f); } } } }}注意:
1.首先要給出遍歷文件夾的目錄,用File類來創建對象;
2.調用自定義方法getAllFiles();
3.獲取絕對路徑(getAbsolutePath()不是必須要的,與核心目標無關);
4.在自定義方法中:進行判斷,如果是文件夾,就把該第一級文件夾下的文件都放到數組中,然后用遞歸算法來遍歷并輸出(輸出的是文件名,getName());
(遞歸方法:循環中,方法不斷調用本身,找到不滿足條件項(或滿足條件項),直到所有文件都達到目標,跳出循環;)這是該程序的核心;
5.更改目錄可以遍歷不同文件夾下的文件;
程序運行后的結果如下:
而樓主該文件夾下面的文件實際圖如下:
新聞熱點
疑難解答