删除所有文件及文件夹

import java.io.File;

/**
 * DateTime: 2016/9/18 20:42
 * 功能:删除所有文件及文件夹
 * 思路:
 */
public class DelAllFile {
    //测试
    public static void main(String[] args) {
        delFolder("G:/demo/dira"); //删除dira文件夹下的文件,dira也会删除
        delAllFile("G:/demo/dira"); //只删除dira文件夹下的文件,dira不会删除
    }

    /**
     * 删除指定文件夹下所有文件
     * @param path  文件夹完整绝对路径
     * @return
     */
    public static boolean delAllFile(String path){
        boolean flag=false;
        File file=new File(path);
        if(!file.exists()){ //如果不存在
            return  flag;
        }
        if(!file.isDirectory()){    //如果不是文件夹
            return flag;
        }

        String[] tempList=file.list();
        File temp=null;

        for ( int i = 0; i <tempList.length ; i++ ) {

            if(path.endsWith(File.separator)){  //File.separator文件分隔符
                temp=new File(path+tempList[i]);
            }else {
                temp=new File(path+File.separator+tempList[i]);
            }

            if(temp.isFile()){
                temp.delete();
            }
            if(temp.isDirectory()){
                delAllFile(path+"/"+tempList[i]);//先删除文件夹里边的文件
                delFolder(path+"/"+tempList[i]);//再删除空文件夹
                flag=true;
            }
        }//end of  for ( int i = 0; i <tempList.length ; i++ ) {
        return flag;
    }

    /**
     * 只删除此路径的最末路径下所有文件和文件夹
     * @param folderPath 文件路径 (
     */
    private static void delFolder(String folderPath) {
        try {
            delAllFile(folderPath); // 删除完里面所有内容
            String filePath=folderPath;
            filePath=filePath.toString();
            File myFilePath=new File(filePath);
            myFilePath.delete(); // 删除空文件夹
        }catch ( Exception e ){
            e.printStackTrace();
        }
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值