黑马程序员技术交流社区

标题: 递归打印文件夹层级的佳哥做法及原创做法 [打印本页]

作者: sufutian    时间: 2015-12-20 11:13
标题: 递归打印文件夹层级的佳哥做法及原创做法
//先来看看佳哥的做法,不得不说佳哥这递归控制变量增加制表符一般人是想不到的
public static void printDir(File dir,int n){
                        File[] subFile=dir.listFiles();
                        for (File file : subFile) {//---必须遍历操作.
                                for (int i = 0; i <=n; i++) {//--打印制表符
                                        System.out.print("\t");
                                }
                                System.out.println(file.getName());
                                if(file.isDirectory()){
                                        printDir(file,n+1);//n+1  不是n++  
                                }
                        }
        }


//哈哈接下来是我的做法 虽然是用递归 但我的层级是用字符串操作做的.
public static void allPath(File file) throws IOException{
                File[] fi=file.listFiles();
                for (File file2 : fi) {
                          {//截取(绝对路径长度-文件/文件夹名长度)替换为空格 +文件/文件夹名-------看着长 思路简单
                        System.out.println(file2.getAbsolutePath().substring(0,file2.getAbsolutePath().length()-file2.getName().length()).replaceAll(".", " ")+file2.getName());
                         if(file2.isDirectory())
                                allPath(file2);
                        }
                }
        }

//--------------大家可以交流一下各种奇葩的做法
//----------------走过路过不要错过 多多捧场!


作者: sufutian    时间: 2015-12-20 11:16
{ //截取(绝对路径长度-文件/文件夹名长度)替换为空格 +文件/文件夹名-------看着长 思路简单
我去 括号不小心剪切走了 是在if后的




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