美文网首页
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