黑马程序员技术交流社区

标题: 递归遍历 [打印本页]

作者: panbingqi    时间: 2015-4-22 22:13
标题: 递归遍历
需求:递归遍历,指定目录下指定后缀名结尾的文件名称
*
*                 E:\itcast\20150322 文件夹中 有哪些.avi文件
* 分析:
*                 1: 封装目录成 File对象
*
*
*                 2: 获取到当前目录中所有的File对象
*                 3:  获取到每一个File对象
*                 4: 判断这个File对象 是否是文件夹?
*                         是:
*                                 文件夹
*                                 a: 递归操作, 回到步骤2
*                         否:
*                                 文件
*                                 a: 判断当前文件是否是.avi文件
*                                         是: 打印路径名称
*                                         否:       
*
*/
public class DiguiTest3 {
        public static void main(String[] args) {
                //1: 封装目录成 File对象
                //File pathFile = new File("E:\\itcast\\20150322");
                File pathFile = new File("d:\\");
                //2: 获取到当前目录中所有的File对象
                getFiles(pathFile);
        }

        //获取到当前目录中所有的File对象
        public static void getFiles(File pathFile) {
               
                //System.out.println(pathFile);
                if (pathFile == null) {
                        return ;
                }
               
               
                //获取到当前目录中所有的File对象
                File[] files = pathFile.listFiles();
                //3:  获取到每一个File对象
                for (File file : files) {
                        //4: 判断这个File对象 是否是文件夹?
                        if (file.isDirectory()) {
                                //file--文件夹
                                //a: 递归操作, 回到步骤2
                                getFiles(file);
                               
                        } else {
                                //file -- 文件
                                //a: 判断当前文件是否是.avi文件
                                if (file.getName().endsWith(".avi")) {
                                        System.out.println(file.getAbsolutePath());
                                }
                        }
                }
        }
}





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