Day18 File作业

作业:

1. 递归删除目录

目录结构为如下(尽量不要在c盘中测试哈)
firstLevel目录中,包含一个secondLevel目录和a1.txt和b1.java文件
secondLevel目录中包含dir1和dir2两个目录,和a2.txt和b2.java文件
dir1目录中包含a3.txt和b3.java文件
dir2目录是一个空目录

要求删除firstLevel目录

 

参考答案:

1.

 1 package com.day018;
 2 
 3 import java.io.File;
 4 
 5 /*
 6  * 1.  递归删除目录 
 7 
 8    目录结构为如下(尽量不要在c盘中测试哈)
 9    firstLevel目录中,包含一个secondLevel目录和a1.txt和b1.java文件
10    secondLevel目录中包含dir1和dir2两个目录,和a2.txt和b2.java文件
11    dir1目录中包含a3.txt和b3.java文件
12    dir2目录是一个空目录
13 
14    要求删除firstLevel目录
15  */
16 public class Demo {
17 
18     public static void main(String[] args) {
19         File file = new File("E:\\firstLevel");
20         delete(file);
21 
22     }
23     //递归删除文件目录(包括目录本身)
24     public static void delete(File dir) {
25         //获取当前目录下所有文件或目录的File对象
26         File[] files = dir.listFiles();
27         if(files == null || files.length == 0) {
28             //当dir不是目录(即是文件)或者dir是空目录
29             dir.delete();
30             return;
31         }
32         for(int i = 0; i < files.length; i++) {
33             //递归删除当前dir目录下的所有文件或目录
34             delete(files[i]);
35         }
36         //递归删除完当前dir中的子文件或子目录后,当前目录已经空了,可以直接删除当前目录
37         delete(dir);
38     }
39 
40 }

 

posted @ 2020-04-28 02:04  dust--  阅读(236)  评论(0编辑  收藏  举报