1:递归查看指定目录下的指定后缀的文件
package cn.itcast_02;import java.io.File;/* * 需求:我要得到E:\装软件\软件安装包\学习软件 下的所有以.exe结尾的文件并输出其绝对路径 * 1:封装目录 * 2:获取该目录下所有文件的File数组 * 3:遍历该File数组,得到每一个File对象 * 4:判断该File对象是否是文件夹 * 是:回到2 * 否:是否已.exe结尾 * 是:输出该文件的绝对路径 * 否:不搭理他 */public class Hour06_FileDemo_02DiGUi_FilePathDemo { public static void main(String[] args) { // TODO Auto-generated method stub //封装目录 File folider = new File("E:\\装软件\\软件安装包"); //调用方法 getExeAbstractPath(folider); } private static void getExeAbstractPath(File folider) { // TODO Auto-generated method stub //用数组接收 File[] srcArray = folider.listFiles(); //for遍历 for(File file : srcArray) { //判断是否是文件或者文件夹 if(file.isDirectory()) { getExeAbstractPath(file); }else { if(file.getName().endsWith(".exe")) { System.out.println(file.getAbsolutePath()); } } } }}
2:递归删除目录(请谨慎使用)
package cn.itcast_02;import java.io.File;/* * 删除文件夹(文件夹下面有东西) * D:\java测试文件夹\demo - 副本 * 删除这个文件夹下的目录 */public class Hour07_FileDemo_01DIGUi_DeleteFolder { public static void main(String[] args) { // TODO Auto-generated method stub //封装目录 File srcFolder = new File("demo"); //调用方法 DeleteFolder(srcFolder); } private static void DeleteFolder(File srcFolder) { // TODO Auto-generated method stub //得到文件数组 File[] fileArray = srcFolder.listFiles(); //增强for循环的对象不能是null,如果遇到了保护文件就会返回null就会出现空指针异常,所以加一个判断 if(fileArray != null) { //遍历该数组 for(File file : fileArray) { if(file.isDirectory()) { DeleteFolder(file); }else { System.out.println(file.getName()+"---"+file.delete()); } } //如果是一级目录就应该在这里删除文件夹 System.out.println(srcFolder.getName()+"----"+srcFolder.delete()); } }}
自己要先看得起自己,别人才会看得起你