递归删除空文件夹

package com.acm.competition;
import java.io.File;
import java.io.IOException;

public class TestDelFile
{
    private static TestDelFile testDelFile= new TestDelFile();
    public void del(File file)
    {
        if(file.isDirectory())
        {
            File [] fileArr = file.listFiles();
            for (File fileTemp : fileArr) 
            {
                System.out.println(fileTemp);
                if(fileTemp.isDirectory())
                {
                    del(fileTemp);
                }
                if(fileTemp.isDirectory()&&fileTemp.length() == 0)
                {
                    fileTemp.delete();
                }
            }
        }
        else
        {
            System.out.println("该文件不是目录");
        }
    }
    public static void main(String[] args) 
    {
        File file = new File("D:/删除文件夹测试目录");
        if(!file.exists())
        {
            System.out.println(file.mkdirs()?"创建成功":"创建失败");
        }
        testDelFile.del(file);
        
    }
 
}

扩展:

1 delete();方法

java.io.File中方法,用于文件删除操作,删除文件或文件夹

2 remove();方法

java.Util.List中方法,用于集合的移除操作,对于集合中元素进行移除

(1)针对有序集合,提供按下标和元素内容删除

List<String> list=new ArrayList<String>();

list.add("test1");

list.add("test2");
list.add("test3");
list.removeAt(1); //则删除test2

list.remove("test1"); //则删除test1

(2) 针对无序集合,提供按元素内容删除
Map<String,String> map=new HashMap<String,String>();
map.put("CN","China");

map.put("HK","HongKong");
map.remove("CN"); //则删除China,按照关键字删除

3 clear()方法:
清除集合中的所有元素,而且要保证size()方法返回的结果为0

List<String> list=new ArrayList<String>();

list.add("test1");

list.add("test2");
list.add("test3");
list.clear(); //则删除集合中所有元素

 

发布了18 篇原创文章 · 获赞 0 · 访问量 2171

猜你喜欢

转载自blog.csdn.net/weixin_42163781/article/details/81284943