ในการแสดงรายการไฟล์ทั้งหมดในไดเร็กทอรีและไดเร็กทอรีย่อยที่ซ้อนกัน โปรแกรม 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' ใช้เพื่อแสดงรายการไฟล์ทั้งหมดในโฟลเดอร์เฉพาะนั้น ถัดไป ฟังก์ชันจะถูกเรียกโดยส่งพารามิเตอร์เหล่านี้ ผลลัพธ์จะปรากฏบนคอนโซล