A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用递归的方法怎么来获取文件夹里面的文件 文件夹是多层的

1 个回复

正序浏览

import java.io.File;

public class Demo_Recursion {
        public static void main(String[] args){
                listAll(new File("F:/aa"),"|--");
        }
        /**
         * 创建一个递归方法
         * 将一个文件中所有子类文件存入到文件数组中:ListFiles()方法
         * 使用foreach方法,将数组中的所有元素取出来
         * 用isFile()方法判断是否是文件,isDirectory()方法判断是否是目录,并打印出当前目录中的所有文件写目录
         * 用时递归方法,就是在本方法中调中本方法,就可以得到所有的子孙目录写子孙文件
         * */
        public static void listAll(File file,String str){
                //得到文件内容并存入数组
                File[] fi=file.listFiles();
                //遍历所有的文件目录与文件
                for(File fe:fi){
                        //判断是否是文件
                        if(fe.isFile()){
                                System.out.println(str+"文件"+fe.getName());
                               
                        }//判断是否是目录
                        else if(fe.isDirectory()){
                                System.out.println(str+"目录"+fe.getName());
                                //使用递归,这里使用fe,每次都会进入一个目录,如果没目录,将不在递归,而退出,不然就是死循环
                                listAll(fe,"|  "+str);
                        }
                }
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马