1:需求:递归删除带内容的目录 假设删除当前项目下的目录:demo,demo中可以有文件夹自己给出
package work1; import java.io.File; public class Work1 { public static void main(String[] args) { // 封装目录 File src = new File("demo"); // 递归实现 deleteFolder(src); } private static void deleteFolder(File src){ // 获取该目录下的所有文件或者文件夹的File数组 File[] fileArray = src.listFiles(); if (fileArray!=null){ // 遍历该File数组,得到每一个File对象 for(File file : fileArray){ // 判断该File对象是否为文件夹 if(file.isDirectory()){ deleteFolder(file); }else { System.out.println(file.getName()+"---"+file.delete()); } } System.out.println(src.getName()+"---"+src.delete()); } } }
2:需求:请大家把E:\JavaSE目录下所有的java结尾的文件的绝对路径给输出在控制台。
package work1; import java.io.File; public class Work2 { public static void main(String[] args) { // 封装目录 File src = new File("E:\\JavaSE"); // 递归实现 getAllJavaSE(src); } private static void getAllJavaSE(File src){ // 获取该目录下所有的文件或者文件夹的File数组 File[] fileArray = src.listFiles(); // 遍历该File数组,得到每一个File对象 for(File file : fileArray){ // 判断该File对象是否为文件夹 if(file.isDirectory()){ getAllJavaSE(file); }else{ // 判断是否以.java结尾 if(file.getName().endsWith(".java")){ // 输出该文件的绝对路径 System.out.println(file.getAbsolutePath()); } } } } }