文章目录
- 题目
- java 代码
- 测试
题目
编写一个 FileUtil ,提供方法 rmDir(String dir) 来删除非空目录中所有文件和子目录,包括目录本身。
java 代码
首先得判断,当前是一个目录的话,进行遍历其中的 File 对象。如果不是就直接删除。
遍历时如果判断依然是一个目录,就进行递归,如果不是就直接删除。
public static void rmDir(String dir){
File file = new File(dir);
if(file.isDirectory()){
File[] files = file.listFiles();
if (files != null && files.length > 0){
for (File file1 : files) {
if(file1.isDirectory()){
rmDir(file1.getPath());
} else {
file1.delete();
}
}
} else {
file.delete();
}
} else {
file.delete();
}
}
测试
在 main 方法中:
rmDir("D:\\ideaProjects\\java-demo\\target\\classes\\files");