IO流-递归删除带内容的目录

/*
* 需求:递归删除带内容的目录
*
* 目录:demo
* ----------------------------------------------------------------------------------
* 具体的demo目录如下:
* demo\aaaa\a1.txt
* demo\aaaa\a2.txt
* demo\bbbb\b1.txt
* demo\bbbb\b2.txt
* 具体的删除结果如下:(删除顺序:先删某文件夹下的文件,再删该文件)
* a1.txt
* a2.txt
* aaaa
*
* b1.txt
* b2.txt
* bbbb
*
* demo
*
* -----------------------------------------------------------------------------------
* 分析:
* A:封装目录
* B:获取该目录下的所有文件或者文件夹的File数组
* C:遍历该File数组,得到每一个File对象
* D:判断该File对象是否是文件夹
* 是:回到B
* 否:就删除
*/
public class FileDeleteDemo {
public static void main(String[] args) {
// 封装目录
File srcFolder = new File("demo");
// 递归实现
deleteFolder(srcFolder);
} private static void deleteFolder(File srcFolder) {
// 获取该目录下的所有文件或者文件夹的File数组
File[] fileArray = srcFolder.listFiles();
if (fileArray != null) {
// 遍历该File数组,得到每一个File对象
for (File file : fileArray) {
// 判断该File对象是否是文件夹
if (file.isDirectory()) {
//回到B,继续执行(递归)
deleteFolder(file);
} else {
//打印删除了的文件
System.out.println(file.getName() + "---" +file.delete());
}
}
//打印删除的文件夹(先删除该文件夹下的文件,再删除文件夹)
System.out.println(srcFolder.getName() + "---" + srcFolder.delete());
}
}
}

  

上一篇:LomBok插件的使用


下一篇:TMS320VC5509驱动74HC595芯片