1. 需求:递归删除带内容的目录
分析:
(1)封装目录
(2)获取该目录下的所有文件或者文件夹的File数组
(3)遍历该File数组,得到每一个File对象
(4)判断该File对象是否是文件夹
是:回到(2)
否:就删除
2. 案例代码实现:
(1)首先在如下路径,准备文件:
(2)代码如下:
package com.himi.diguidemo; import java.io.File; /**
* 需求:递归删除带内容的目录 分析: (1)封装目录 (2)获取该目录下的所有文件或者文件夹的File数组 (3)遍历该File数组,得到每一个File对象 (4)判断该File对象是否是文件夹 是:回到B 否:就删除
*
*
*/
public class DiGuiDemo4 { public static void main(String[] args) {
//封装目录
String path = "E:\\temp";
File file = new File(path); //递归实现
DeleteFolder(file);
} public static void DeleteFolder(File srcFolder) {
//获取该目录下的所有文件或者文件夹的File数组
File[] files = srcFolder.listFiles();
//遍历该File数组,得到每一个File对象
for(File f:files) {
//判断该File对象是否是文件夹
if(f.isDirectory()) {
DeleteFolder(f);
} else {
System.out.println(f.getParentFile().getName()+"目录下的"+f.getName()+"----"+f.delete());
}
}
} }
运行结果如下:
查看源目录如下: