Chinaunix首页 | 论坛 | 博客
  • 博客访问: 949738
  • 博文数量: 264
  • 博客积分: 10107
  • 博客等级: 上将
  • 技术积分: 2455
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-09 16:34
文章分类

全部博文(264)

文章存档

2012年(1)

2011年(11)

2010年(128)

2009年(82)

2008年(42)

我的朋友

分类: Java

2010-10-13 18:43:18

 Java 删除文件和目录代码 收藏 

 Java 删除文件和目录代码

package book.io;     
    
import java.io.File;     
    
/**   
 *    
 * @author XWZ   
 * 2007-11-27   
 * 删除文件或目录   
 */    
public class DeleteFileUtil {     
    /**   
     * 删除文件,可以是单个文件或文件夹   
     * @param   fileName    待删除的文件名   
     * @return 文件删除成功返回true,否则返回false   
     */    
    public static boolean delete(String fileName){     
        File file = new File(fileName);     
        if(!file.exists()){     
            System.out.println("删除文件失败:"+fileName+"文件不存在");     
            return false;     
        }else{     
            if(file.isFile()){     
                     
                return deleteFile(fileName);     
            }else{     
                return deleteDirectory(fileName);     
            }     
        }     
    }     
         
    /**   
     * 删除单个文件   
     * @param   fileName    被删除文件的文件名   
     * @return 单个文件删除成功返回true,否则返回false   
     */    
    public static boolean deleteFile(String fileName){     
        File file = new File(fileName);     
        if(file.isFile() && file.exists()){     
            file.delete();     
            System.out.println("删除单个文件"+fileName+"成功!");     
            return true;     
        }else{     
            System.out.println("删除单个文件"+fileName+"失败!");     
            return false;     
        }     
    }     
         
    /**   
     * 删除目录(文件夹)以及目录下的文件   
     * @param   dir 被删除目录的文件路径   
     * @return  目录删除成功返回true,否则返回false   
     */    
    public static boolean deleteDirectory(String dir){     
        //如果dir不以文件分隔符结尾,自动添加文件分隔符     
        if(!dir.endsWith(File.separator)){     
            dir = dir+File.separator;     
        }     
        File dirFile = new File(dir);     
        //如果dir对应的文件不存在,或者不是一个目录,则退出     
        if(!dirFile.exists() || !dirFile.isDirectory()){     
            System.out.println("删除目录失败"+dir+"目录不存在!");     
            return false;     
        }     
        boolean flag = true;     
        //删除文件夹下的所有文件(包括子目录)     
        File[] files = dirFile.listFiles();     
        for(int i=0;i            //删除子文件     
            if(files[i].isFile()){     
                flag = deleteFile(files[i].getAbsolutePath());     
                if(!flag){     
                    break;     
                }     
            }     
            //删除子目录     
            else{     
                flag = deleteDirectory(files[i].getAbsolutePath());     
                if(!flag){     
                    break;     
                }     
            }     
        }     
             
        if(!flag){     
            System.out.println("删除目录失败");     
            return false;     
        }     
             
        //删除当前目录     
        if(dirFile.delete()){     
            System.out.println("删除目录"+dir+"成功!");     
            return true;     
        }else{     
            System.out.println("删除目录"+dir+"失败!");     
            return false;     
        }     
    }     
         
    public static void main(String[] args) {     
        //String fileName = "g:/temp/xwz.txt";     
        //DeleteFileUtil.deleteFile(fileName);     
        String fileDir = "G:/temp/temp0/temp1";     
        //DeleteFileUtil.deleteDirectory(fileDir);     
        DeleteFileUtil.delete(fileDir);     
             
    }     
}   
 package book.io;  
  
 import java.io.File;  
  
 /** 
  *  
  * @author XWZ 
  * 2007-11-27 
  * 删除文件或目录 
  */ 
 public class DeleteFileUtil {  
     /** 
      * 删除文件,可以是单个文件或文件夹 
      * @param   fileName    待删除的文件名 
      * @return 文件删除成功返回true,否则返回false 
      */ 
     public static boolean delete(String fileName){  
         File file = new File(fileName);  
         if(!file.exists()){  
             System.out.println("删除文件失败:"+fileName+"文件不存在");  
             return false;  
         }else{  
             if(file.isFile()){  
                   
                 return deleteFile(fileName);  
             }else{  
                 return deleteDirectory(fileName);  
             }  
         }  
     }  
       
     /** 
      * 删除单个文件 
      * @param   fileName    被删除文件的文件名 
      * @return 单个文件删除成功返回true,否则返回false 
      */ 
     public static boolean deleteFile(String fileName){  
         File file = new File(fileName);  
         if(file.isFile() && file.exists()){  
             file.delete();  
             System.out.println("删除单个文件"+fileName+"成功!");  
             return true;  
         }else{  
             System.out.println("删除单个文件"+fileName+"失败!");  
             return false;  
         }  
     }  
       
     /** 
      * 删除目录(文件夹)以及目录下的文件 
      * @param   dir 被删除目录的文件路径 
      * @return  目录删除成功返回true,否则返回false 
      */ 
     public static boolean deleteDirectory(String dir){  
         //如果dir不以文件分隔符结尾,自动添加文件分隔符  
         if(!dir.endsWith(File.separator)){  
             dir = dir+File.separator;  
         }  
         File dirFile = new File(dir);  
         //如果dir对应的文件不存在,或者不是一个目录,则退出  
         if(!dirFile.exists() || !dirFile.isDirectory()){  
             System.out.println("删除目录失败"+dir+"目录不存在!");  
             return false;  
         }  
         boolean flag = true;  
         //删除文件夹下的所有文件(包括子目录)  
         File[] files = dirFile.listFiles();  
         for(int i=0;i             //删除子文件  
             if(files[i].isFile()){  
                 flag = deleteFile(files[i].getAbsolutePath());  
                 if(!flag){  
                     break;  
                 }  
             }  
             //删除子目录  
             else{  
                 flag = deleteDirectory(files[i].getAbsolutePath());  
                 if(!flag){  
                     break;  
                 }  
             }  
         }  
           
         if(!flag){  
             System.out.println("删除目录失败");  
             return false;  
         }  
           
         //删除当前目录  
         if(dirFile.delete()){  
             System.out.println("删除目录"+dir+"成功!");  
             return true;  
         }else{  
             System.out.println("删除目录"+dir+"失败!");  
             return false;  
         }  
     }  
       
     public static void main(String[] args) {  
         //String fileName = "g:/temp/xwz.txt";  
         //DeleteFileUtil.deleteFile(fileName);  
         String fileDir = "G:/temp/temp0/temp1";  
         //DeleteFileUtil.deleteDirectory(fileDir);  
         DeleteFileUtil.delete(fileDir);  
           
     }  
 } 
 
阅读(727) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~