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);
    }
}
相关文章
相关标签/搜索