java 文件操作

package book.io;      
     
import java.io.File;      
     
/**    
 *     
 * 删除文件或目录    
 */     
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<files.length;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);      
              
    }      
}    


本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/softwave/archive/2009/02/07/3867078.aspx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值