美文网首页
day20-07-IO流(列出目录下所有内容-递归)

day20-07-IO流(列出目录下所有内容-递归)

作者: 姗婷 | 来源:发表于2020-07-20 07:23 被阅读0次

    列出指定目录下文件或者文件夹,包含子目录中的内容,也就是列出指定目录下所有内容。

    因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可。
    在列出过程中出现的还是目录的话,还可以再次调用本功能。
    也就是函数自身调用自身。这种表现形式或者编程的写法,这就成为递归。

    递归要注意:
    1.限定条件。
    2.要注意递归的次数,尽量避免内存的溢出

    import java.io.File;

    public class FileDemo3
    {
    public static void main(String[] args)
    {
    //File dir =new File("D:\0217java");
    //showDir(dir);
    //toBin(6);
    // int n=getSum(6);
    // System.out.println(n);
    }

    //打印目录方法
    public static void showDir(File dir)
    {
        //打印文件时,先打印目录
        System.out.println(dir);
        File[] files = dir.listFiles();
        for (int i = 0; i <files.length ; i++)
        {
            //如果是目录,就继续调用目录方法
            if (files[i].isDirectory())
                showDir(files[i]);
            else
            System.out.println(files[i]);
        }
    }
    
    public  static void toBin(int num)
    {
        if(num>0)
        {
            //递归方法
            toBin(num/2);
            System.out.print(num%2);
        }
    }
    
    public static int getSum(int num)
    {
        if (num ==1)
            return 1;
        //递归方法
        return num+getSum(num-1);
    }
    

    }

    image.png

    相关文章

      网友评论

          本文标题:day20-07-IO流(列出目录下所有内容-递归)

          本文链接:https://www.haomeiwen.com/subject/umdqkktx.html