File DIR= new File(path);
int len = DIR.listFiles().length;
File file[] = DIR.listFiles();  for(int i=0;i<len;i++)
     file[i].delete();

解决方案 »

  1.   

    问题比较明显,你每删除一个,
    循环语句for(int i=0;i<DIR.listFiles().length;++i)长度就会减1,
    相当于你要删除的文件夹比实际个数少1~~File DIR= new File(path);
    int len = DIR.listFiles().length;
    File file[] = DIR.listFiles();  for(int i=0;i<len;i++)
         file[i].delete();是正解~~
      

  2.   

    public void delDir(String path){
            File dir=new File(path);
            if(dir.exists()){
                File[] tmp=dir.listFiles();
                for(int i=0;i<tmp.length;i++){
                    if(tmp[i].isDirectory()){
                     delDir(path+"/"+tmp[i].getName());
                    }
                        
                    
                    else{
                        tmp[i].delete();
                    }
                    }
                }
                dir.delete();
            }
      

  3.   

    File DIR= new File(path);
    while(DIR.listFiles().length>0)
    {
        DIR.listFiles()[0].delete();
    }