需求: 删除 D:\Java_2020_07_13\CodeLibraryTest 目录
*** 思路:**
-
- 封装文件路径指向需要删除的文件夹
-
- 获取指定目录下所有文件或者文件夹
-
- 获取到每一个File,判断该File是文件还是文件夹 [if-else]
-
是文件夹
-
递归即可
-
是文件
-
删除之
-
- 删除空文件夹
- 练习: 写一个批量删除和遍历的方法
- 统计咱们这个视频文件的个数
public class FileDemo08 {
public static void main(String[] args) {
// 1. 封装文件路径指向需要删除的文件夹
File srcFolder=new File("D:\\Java_2020_07_13\\CodeLibraryTest");
deleteFolder(srcFolder);
}
public static void deleteFolder(File srcFolder) {
if (Objects.isNull(srcFolder)) {
throw new NullPointerException("兄弟,不能传null,好好反省一下");
}
// 2. 获取指定目录下所有文件或者文件夹
File[] files = srcFolder.listFiles();
if (Objects.nonNull(files) && files.length > 0) {
// 3. 获取到每一个File,判断该File是文件还是文件夹 [if-else]
for (File file : files) {
if (file.isDirectory()) {
// 是文件夹
deleteFolder(file);
} else {
String fileName = file.getName();
// 文件
System.out.println("\t" + (file.delete() ? "删除" +
fileName+"文件成功!":"删除"+fileName + "文件失败!"));
}
}
}
// 4. 删除空文件夹
String folderName = srcFolder.getName();
System.out.println(srcFolder.delete() ? "删除" + folderName +
"文件夹成功!" : "删除" + folderName + "文件夹失败!");
}
}