递归思想解决输出目录下的全部文件

时间:2022-04-26
本文章向大家介绍递归思想解决输出目录下的全部文件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

刚刚了解了下递归思想

递归就是在方法内调用本方法

下面说一个实际的应用 输出目录下的全部文件,当目录中还有目录时,则进入目录输出里面的文件

import java.io.*;
class ShowFile{
    public static void showfile(File files){
        if(files.isDirectory()){
            File[] list=files.listFiles();
            //防止抛出空指针异常
            try{
            for(File file:list){
            if(file.isDirectory()){
            //递归
                showfile(file);
            }
            else{System.out.println(file.getAbsolutePath());}
        }}
            catch(NullPointerException x){
            System.out.println(files.getAbsolutePath());
}
}
        else{System.out.println(files.getAbsolutePath());}
}
}

递归的时候要小心出现死循环 如

void method(){
    mehtod();
}

这样子就死循环了

运用递归思想,可以减小重复性代码的长度,作用和循环体差不多,但是能做循环体做不到的事