Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例

时间:2023-03-09 00:15:21
Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例

1. 需求:递归删除带内容的目录

分析:

  (1)封装目录

  (2)获取该目录下的所有文件或者文件夹的File数组

  (3)遍历该File数组,得到每一个File对象

  (4)判断该File对象是否是文件夹

                  是:回到(2)

                  否:就删除

2. 案例代码实现:

(1)首先在如下路径,准备文件:

Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例

(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());
}
}
} }

运行结果如下:

Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例

查看源目录如下:

Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例