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 }

运行结果如下:

查看源目录如下:

原文地址:https://www.cnblogs.com/hebao0514/p/4850387.html