Chinaunix首页 | 论坛 | 博客
  • 博客访问: 845665
  • 博文数量: 221
  • 博客积分: 10033
  • 博客等级: 上将
  • 技术积分: 2325
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-06 22:00
文章分类

全部博文(221)

文章存档

2010年(8)

2009年(1)

2008年(69)

2007年(63)

2006年(80)

我的朋友

分类: Java

2008-08-13 19:35:43

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