郎咸武

郎咸武的博客

他的个人主页  他的博客

递归删除文件夹下的文件 包括 子文件夹中的文件

郎咸武  2010年03月12日 星期五 16:34 | 1101次浏览 | 2条评论

双重递归删除文件 这是某某公司的面试题。

今天去某公司面试 遇得到。

和同学聊天 说起来,我们两个意见不一致。他说我的思路不对,我就写了一下。原来我的思路没错。

public class ReadFile{
    public static  void main(String[] args){
        File f = new File("F:\\ejb");
            delFile(f);
    }
    /**
     * 递归删除文件
     * @param f
     */
    public static void delFile(File f){
        if(!f.isDirectory()){
            System.out.println(f.getName());
            f.delete();
        }else{
            File[] f1 = f.listFiles();
//            for(int i=0;i<f1.length;i++){
//                delFile(f1[i]);
//            }
            forFile(f1.length,f1);//本行代码可以用上面 //注释掉的代码替换
        }
    }
    /**
     * 递归读取 listFiles并删除 文件
     * @param x
     * @param f1
     */
    public static void forFile(int x,File[] f1){
        if(0<x){
            System.out.println(x);
            delFile(f1[f1.length-x]);
            forFile(--x,f1);
        }else{
           
        }
    }
   
}

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
徐继哲

回复 徐继哲  2010年03月19日 星期五 18:23

面试结果如何?

1条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号