1. package book.io;      
  2.      
  3. import java.io.File;      
  4.      
  5. /**    
  6.  *     
  7.  * @author XWZ    
  8.  * 2007-11-27    
  9.  * 删除文件或目录    
 10.  */     
 11. public class DeleteFileUtil {      
 12.     /**    
 13.      * 删除文件,可以是单个文件或文件夹    
 14.      * @param   fileName    待删除的文件名    
 15.      * @return 文件删除成功返回true,否则返回false    
 16.      */     
 17.     public static boolean delete(String fileName){      
 18.         File file = new File(fileName);      
 19.         if(!file.exists()){      
 20.             System.out.println("删除文件失败:"+fileName+"文件不存在");      
 21.             return false;      
 22.         }else{      
 23.             if(file.isFile()){      
 24.                       
 25.                 return deleteFile(fileName);      
 26.             }else{      
 27.                 return deleteDirectory(fileName);      
 28.             }      
 29.         }      
 30.     }      
 31.           
 32.     /**    
 33.      * 删除单个文件    
 34.      * @param   fileName    被删除文件的文件名    
 35.      * @return 单个文件删除成功返回true,否则返回false    
 36.      */     
 37.     public static boolean deleteFile(String fileName){      
 38.         File file = new File(fileName);      
 39.         if(file.isFile() && file.exists()){      
 40.             file.delete();      
 41.             System.out.println("删除单个文件"+fileName+"成功!");      
 42.             return true;      
 43.         }else{      
 44.             System.out.println("删除单个文件"+fileName+"失败!");      
 45.             return false;      
 46.         }      
 47.     }      
 48.           
 49.     /**    
 50.      * 删除目录(文件夹)以及目录下的文件    
 51.      * @param   dir 被删除目录的文件路径    
 52.      * @return  目录删除成功返回true,否则返回false    
 53.      */     
 54.     public static boolean deleteDirectory(String dir){      
 55.         //如果dir不以文件分隔符结尾,自动添加文件分隔符      
 56.         if(!dir.endsWith(File.separator)){      
 57.             dir = dir+File.separator;      
 58.         }      
 59.         File dirFile = new File(dir);      
 60.         //如果dir对应的文件不存在,或者不是一个目录,则退出      
 61.         if(!dirFile.exists() || !dirFile.isDirectory()){      
 62.             System.out.println("删除目录失败"+dir+"目录不存在!");      
 63.             return false;      
 64.         }      
 65.         boolean flag = true;      
 66.         //删除文件夹下的所有文件(包括子目录)      
 67.         File[] files = dirFile.listFiles();      
 68.         for(int i=0;i<files.length;i++){      
 69.             //删除子文件      
 70.             if(files[i].isFile()){      
 71.                 flag = deleteFile(files[i].getAbsolutePath());      
 72.                 if(!flag){      
 73.                     break;      
 74.                 }      
 75.             }      
 76.             //删除子目录      
 77.             else{      
 78.                 flag = deleteDirectory(files[i].getAbsolutePath());      
 79.                 if(!flag){      
 80.                     break;      
 81.                 }      
 82.             }      
 83.         }      
 84.               
 85.         if(!flag){      
 86.             System.out.println("删除目录失败");      
 87.             return false;      
 88.         }      
 89.               
 90.         //删除当前目录      
 91.         if(dirFile.delete()){      
 92.             System.out.println("删除目录"+dir+"成功!");      
 93.             return true;      
 94.         }else{      
 95.             System.out.println("删除目录"+dir+"失败!");      
 96.             return false;      
 97.         }      
 98.     }      
 99.           
100.     public static void main(String[] args) {      
101.         //String fileName = "g:/temp/xwz.txt";      
102.         //DeleteFileUtil.deleteFile(fileName);      
103.         String fileDir = "G:/temp/temp0/temp1";      
104.         //DeleteFileUtil.deleteDirectory(fileDir);      
105.         DeleteFileUtil.delete(fileDir);      
106.               
107.     }      
108. }