使用递归删除源文件名长度大于系统支持的长度

import java.io.File;  

/** 
 * 解决无限创建的子文件夹删除不了的问题 
 * @author Treasure 
 * 
 */  
public class ForeverDelete   
{  
    //删除文件夹方法  
    private void deleteDir(File file)   
    {  
        if (file.listFiles().length == 0)  
            file.getAbsoluteFile().delete();  
    }  
    //删除文件方法  
    public void deleteFile(File file)   
    {  
        File[] temp = file.listFiles();  
        for (int i = 0; i < temp.length; i++)   
        {  
            System.out.println(temp[i].getName());  
            if (temp[i].isDirectory())   
            {  
                if (temp[i].listFiles().length != 0) 
                    this.deleteFile(temp[i]);
                    this.deleteDir(temp[i]);
                     //如果 文件夹里不为空 递归调用 方法  

            }   
            else   
            {  
                temp[i].delete();  
            }  
        }  
    }  

    public static void main(String[] args)   
    {  
        ForeverDelete m = new ForeverDelete();  
        m.deleteFile(new File("D:\\StudioProjects\\hello"));  
    }  
}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值