Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例
1. 需求:递归删除带内容的目录
分析:
(1)封装目录
(2)获取该目录下的所有文件或者文件夹的File数组
(3)遍历该File数组,得到每一个File对象
(4)判断该File对象是否是文件夹
是:回到(2)
否:就删除
2. 案例代码实现:
(1)首先在如下路径,准备文件:
(2)代码如下:
1 package com.himi.diguidemo; 2 3 import java.io.File; 4 5 /** 6 * 需求:递归删除带内容的目录 7 8 分析: 9 10 (1)封装目录 11 12 (2)获取该目录下的所有文件或者文件夹的File数组 13 14 (3)遍历该File数组,得到每一个File对象 15 16 (4)判断该File对象是否是文件夹 17 18 是:回到B 19 20 否:就删除 21 * 22 * 23 */ 24 public class DiGuiDemo4 { 25 26 public static void main(String[] args) { 27 //封装目录 28 String path = "E:\\temp"; 29 File file = new File(path); 30 31 //递归实现 32 DeleteFolder(file); 33 } 34 35 public static void DeleteFolder(File srcFolder) { 36 //获取该目录下的所有文件或者文件夹的File数组 37 File[] files = srcFolder.listFiles(); 38 //遍历该File数组,得到每一个File对象 39 for(File f:files) { 40 //判断该File对象是否是文件夹 41 if(f.isDirectory()) { 42 DeleteFolder(f); 43 } else { 44 System.out.println(f.getParentFile().getName()+"目录下的"+f.getName()+"----"+f.delete()); 45 } 46 } 47 } 48 49 }
运行结果如下:
查看源目录如下: