02.    public static void delete(File file) {  
03.        if (file.isFile()) {  
04.            file.delete();  
05.            return;  
06.        }  
07.  
08.        if(file.isDirectory()){  
09.            File[] childFiles = file.listFiles();  
10.            if (childFiles == null || childFiles.length == 0) {  
11.                file.delete();  
12.                return;  
13.            }  
14.      
15.            for (int i = 0; i < childFiles.length; i++) {  
16.                delete(childFiles[i]);  
17.            }  
18.            file.delete();  
19.        }  
20.    } 

解决方案 »

  1.   

    我不太明白为什么你这个方法能删掉?你也是用的.delete()方法删除的啊?我刚刚开始试的这个方法不能删除文件夹啊?难道是因为这个方法只能删除空的文件夹?
      

  2.   

    delete(childFiles[i]);  
      

  3.   

    delete(childFiles[i]);  
    有这个方法吗?
      

  4.   

    delete(childFiles[i]);  应该是childFiles[i].delete
      

  5.   

    delete(childFiles[i]); 是递归调用