黑马程序员技术交流社区

标题: 用递归的方法怎么来获取文件夹里面的文件 [打印本页]

作者: szliku    时间: 2016-1-2 23:46
标题: 用递归的方法怎么来获取文件夹里面的文件
用递归的方法怎么来获取文件夹里面的文件 文件夹是多层的

作者: 549208564    时间: 2016-1-3 21:09

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);
                        }
                }
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2