版权声明:本文为博主原创文章,转载请加入源链接。 https://blog.csdn.net/kevin_mails/article/details/81985822
在review 代码的时候,看到同事写的代码删除多级非空目录,写的很长一串,太复杂,就自己写了一个,分享给大家:
package com.test.java8;
import java.io.File;
import java.util.Arrays;
import java.util.Objects;
/**
* @author KEVIN
*/
public interface FileUtil {
static void main(String[] args) {
File f = new File("D:\\mydir\\新建文件夹");
System.out.println(f.getName());
System.out.println("创建文件夹:" + createDirs("D:\\mydir\\新建文件夹"));
// System.out.println("removed:" + remove(f));
}
/**
* 递归删除文件(夹)
*
* @param file 待删除的文件(夹)
* @return
*/
static boolean remove(File file) {
if (!file.exists()) {
return false;
}
if (file.isFile()) {
return file.delete();
}
Arrays.asList(file.listFiles()).forEach(FileUtil::remove);
return file.delete();
}
/**
* 创建多级目录
*
* @param dirPath
* @return
*/
static boolean createDirs(String dirPath) {
if (Objects.equals("", dirPath) || Objects.equals(null, dirPath)) {
return false;
}
File file = new File(dirPath);
if (file.exists()) {
return true;
}
return file.mkdirs();
}
}