黑马程序员技术交流社区

标题: 野路子的递归删除 [打印本页]

作者: 李鑫246    时间: 2016-9-22 21:56
标题: 野路子的递归删除
学递归之后做练习题的时候要求递归删除多级文件和文件夹(运行一次),苦苦想了半天,结果出来的结果却如此简单,然后发现最后的结果一样但是过程不一样,传说中的野路子!!~分享了
定义方法如下:
private static void print(File f) {
        while (!f.delete()) {
                File[] arr = f.listFiles();
                for (File f1 : arr) {
                        print(f1);
                }
        }
正常思路的方法:
private static void delF(File file) {
                File[] f = file.listFiles();
                if (f == null) {
                        return;
                }
                for (File file2 : f) {
                        if (file2.isFile()) {
                                file2.delete();
                        } else if (file2.isDirectory()) {
                                delF(file2);
                        }
                }
                file.delete();
        }


作者: 17721165644    时间: 2016-9-22 22:01
强,都没注意到delete的返回值
作者: 李鑫246    时间: 2016-9-23 07:53
{:2_31:}{:2_31:}




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