Java 之递归遍历目录

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 }

三、运行结果

原文地址:https://www.cnblogs.com/zfc-java/p/8166124.html