1 /* 2 需求:删除H:demo目录下的带内容的文件 3 分析: 4 A:封装该目录 5 B:获取该目录下所有的文件或文件夹的File数组 6 C:遍历该File数组,获取每一个File对象 7 D:判断所遍历的FIle对象 8 是否是文件夹 9 是:返回步骤B 10 不是:判断里面是否有内容 11 有:删除 12 不是:不理 13 B-D设为递归方法: 14 返回类型;void 15 参数列表:File xxx 16 出口:文件里面有内容 17 */ 18 package zl_DiGui; 19 20 import java.io.File; 21 22 public class FileDeleteDemo { 23 24 public static void main(String[] args) { 25 26 //封装该目录 27 File allfile = new File("H:\demo"); 28 29 //调用递归 30 deletefile(allfile); 31 } 32 33 //递归方法 34 private static void deletefile(File allfile) { 35 //获取该目录下的所有文件或文件夹的File数组 36 File[] arrayfile = allfile.listFiles(); 37 38 //遍历该数组,获取每一个File对象 39 for(File file : arrayfile){ 40 //判断是否是文件夹 41 if(file.isDirectory()){ 42 //是的话,返回步骤B 43 deletefile(file); 44 } 45 else{ 46 //不是,就判断是否为空文件 47 long l = file.length(); 48 if(l != 0 ){ 49 file.delete(); 50 } 51 //如果是空文件的话,就输出它的名称和绝对路径 52 else{ 53 System.out.println(file.getName()+" "+file.getAbsolutePath()); 54 /* 55 a.txt H:demoa.txt 56 地方.mp3 H:demo地方.mp3 57 斯蒂芬撒.avi H:demo撒旦发射的斯蒂芬撒.avi 58 */ 59 } 60 } 61 } 62 63 } 64 65 }