JAVA在删除文件或文件夹时,在java.io.File类下有个delete的方法,并且可以返回true or false, 用这个方法来删除单个文件时,很好使,但在删除文件夹时,如果文件夹下面有文件或者子文件夹时,调用这个方法就会返回false,也就是删除失败,这个方法只能删除空的文件夹,如果这样的话,就麻烦了,要达到删除文件夹的目的,就得一层一层的删除,很显然,可以使用递归,实现如下:(文件或文件夹都好使!!!)(如果在LINUX系统下运行时,可能得有个小地方要改改,为什么改自已想!)
package com.demo; import java.io.File; public class Test10 { public boolean delete(String path){ File file = new File(path); if(!file.exists()){ return false; } if(file.isFile()){ return file.delete(); } File[] files = file.listFiles(); for (File f : files) { if(f.isFile()){ if(!f.delete()){ System.out.println(f.getAbsolutePath()+" delete error!"); return false; } }else{ if(!this.delete(f.getAbsolutePath())){ return false; } } } return file.delete(); } public static void main(String[] args) { Test10 t = new Test10(); System.out.println(t.delete("c:\1")); } }