IO流 練習 -- 列出文件樹

利用遞歸輸出指定目錄下的全部文件以及文件夾包括子目錄中的java

由於目錄中還有目錄,只要使用同一個列出目錄的功能函數完成便可數組

在列出過程當中出現的仍是目錄的話便繼續調用本功能app

也就是函數調用自身ide

這種調用本身的方法稱爲遞歸函數

 

遞歸從裏往外剝ui

遞歸要注意spa

1,限定條件教程

2,要注意遞歸的次數,儘可能避免內存的溢出遞歸

import java.io.*;
class fileDemo01 
{
    public static void main(String[]args) 
    {
        File f = new File("E:/ISO教程");
        diguiFile(f,1);
    }
    public static void diguiFile(Filef,int lev)
    {
        
         sop(rank(lev)+f.getName());
         lev++;
         File[] fs = f.listFiles();
         for (int x = 0 ;x<fs.length ;x++ )//數組的長度length字符串的長度length()
         {
             if (fs[x].isDirectory())
             {
                 diguiFile(fs[x],lev);  
             }
             else
                 System.out.println(rank(lev)+fs[x].getName());
         }
    }
    //空格用來分級
    public static String rank(int lev)
    {
        StringBuilder sb = newStringBuilder();
        sb.append(lev+"|--");
        for (int i =1;i<lev ;i++ )
        {
            sb.insert(0,"    ");
        }
        return sb.toString();
    }
    public static void sop(Object o)
    {
        System.out.println(o);
    }
}
相關文章
相關標籤/搜索