Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

디렉토리 및 중첩된 하위 디렉토리의 모든 파일을 나열하는 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'라는 함수가 포함되어 있습니다.

메인 함수에서는 모든 파일이 있는 폴더의 경로를 정의하고 새 파일 경로도 생성합니다. 'listFiles' 기능은 특정 폴더에 있는 모든 파일을 나열하는 데 사용됩니다. 다음으로 이 매개변수를 전달하여 함수를 호출합니다. 결과가 콘솔에 표시됩니다.