Java 之递归遍历目录
一、内容
输出指定目录(文件夹)下的所有文件(包括目录)的绝对路径
二、源代码:RecursiveListDirectory.java
1 package cn.com.zfc.day016; 2 3 import java.io.File; 4 5 /** 6 * @describe 递归遍历目录 7 * @author zfc 8 * @date 2018年1月1日 上午8:44:55 9 */ 10 public class RecursiveListDirectory { 11 12 public static void main(String[] args) { 13 String directoryName = "F:\\StudySoft"; 14 // 1、映射目录文件 15 File directory = new File(directoryName); 16 // 2、调用方法 17 recursiveListDirectory(directory); 18 } 19 20 /** 21 * 输出指定目录下面的文件名称,包括子目录 22 * 23 * @param directoryName:目录名称 24 * @author zfc 25 * @date 2018年1月1日上午8:46:08 26 * 27 */ 28 public static void recursiveListDirectory(File directory) { 29 // 1、判断映射的目录文件是否存在? 30 if (!directory.exists()) { 31 // 不存在则直接返回 32 return; 33 } 34 // 2、判断是否是目录? 35 if (!directory.isDirectory()) { 36 // 不是目录,判断是否是文件? 37 if (directory.isFile()) { 38 System.out.println("文件绝对路径:" + directory.getAbsolutePath()); 39 } 40 } else { 41 // 是目录,获取该目录下面的所有文件(包括目录) 42 File[] files = directory.listFiles(); 43 // 判断 files 是否为空? 44 if (null != files) { 45 // 遍历文件数组 46 for (File f : files) { 47 // 判断是否是目录? 48 if (f.isDirectory()) { 49 // 是目录 50 System.out.println("目录绝对路径:" + f.getAbsolutePath()); 51 recursiveListDirectory(f); 52 } else { 53 // 不是目录,判断是否是文件? 54 if (f.isFile()) { 55 System.out.println("文件绝对路径:" + f.getAbsolutePath()); 56 } 57 } 58 } 59 } 60 } 61 } 62 }
三、运行结果