列出目录中所有文件和嵌套子目录的 Java 程序 - 递归方法


要列出目录中所有文件和嵌套子目录,Java 程序如下 −

示例

import java.io.File;
public class Demo{
   static void print_recursively(File[] my_arr,int my_index,int sub_level){
      if(my_index == my_arr.length)
      return;
      for (int i = 0; i < sub_level; i++)
         System.out.print("\t");
      if(my_arr[my_index].isFile())
         System.out.println(my_arr[my_index].getName());
      else if(my_arr[my_index].isDirectory()){
         System.out.println("[" + my_arr[my_index].getName() + "]");
         print_recursively(my_arr[my_index].listFiles(), 0, sub_level + 1);
      }
      print_recursively(my_arr,++my_index, sub_level);
   }
   public static void main(String[] args){
      String path_main = "path to folder that contains files";
      File main_dir = new File(path_main);
      if(main_dir.exists() && main_dir.isDirectory()){
         File my_arr[] = main_dir.listFiles();
         System.out.println("Files listed from the main directory are : " + main_dir);
         print_recursively(my_arr,0,0);
      }
   }
}

输出

Inside the directory path, all the files of all formats from the path will be listed

名为 Demo 的类包含一个名为 ‘print_recursively’ 的函数,该函数采用数组和索引值以及嵌套级别作为参数,并遍历文件并返回该特定目录中所有文件的列表。

在 main 函数中,定义了包含所有文件的文件夹的路径,并且还创建了一个新的文件路径。‘listFiles’ 函数用于列出该特定文件夹中的所有文件。接下来,通过传递这些参数调用该函数。结果显示在控制台上。

更新于: 14-Jul-2020

432 次浏览

开启你的事业

完成课程以获得认证

开始
广告
© . All rights reserved.