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 }