本文实例讲述了 Java 实现递归文件列表的方法。分享给大家供大家参考。具体如下:
FileListing.java 如下:
นำเข้า java.util.*; นำเข้า java.io.*;/*** รายชื่อไฟล์แบบเรียกซ้ำภายใต้ไดเรกทอรีที่ระบุ** @author javapractices.com* @author Alex Wong* @author ผู้ใช้ที่ไม่ระบุชื่อ /*** แสดงให้เห็นถึงการใช้งาน * * @param aargs - <tt> aargs [0] </tt> เป็นชื่อเต็มของไดเรกทอรี * ที่มีอยู่ที่สามารถอ่านได้ */ โมฆะคงที่สาธารณะหลัก (สตริง ... Aargs) พ่น FilenotFoundException {ไฟล์เริ่มต้นไดเรกทอรี = ไฟล์ใหม่ (AARGS [0]); รายการ <file> files = fileListing.getFileListing (เริ่มต้นไดเรกทอรี); // พิมพ์ชื่อไฟล์ทั้งหมดในลำดับของ file.compareto () สำหรับ (ไฟล์ไฟล์: ไฟล์) {system.out.println (ไฟล์); }} /** * เดินซ้ำแผนผังไดเรกทอรีและส่งคืนรายการไฟล์ * ทั้งหมดที่พบ; รายการถูกเรียงลำดับโดยใช้ file.compareto () * * @param Astartingdir เป็นไดเรกทอรีที่ถูกต้องซึ่งสามารถอ่านได้ */ รายการสาธารณะคงที่ <file> getFileListing (ไฟล์ AstartingDir) พ่น FilenotFoundException {ValidatedIrectory (AstartingDir); รายการ <file> result = getFileListingNosort (AstartingDir); collections.sort (ผลลัพธ์); ผลการกลับมา; } // ส่วนตัว // รายการส่วนตัวคงที่ <file> getFileListingNosort (ไฟล์ AstartingDir) พ่น FilenotFoundException {รายการ <file> ผลลัพธ์ = new ArrayList <file> (); ไฟล์ [] filesandDirs = AstartingDir.listFiles (); รายการ <file> filesdirs = array.aslist (filesanddirs); สำหรับ (ไฟล์ไฟล์: filesdirs) {result.add (ไฟล์); // เพิ่มเสมอแม้ว่าไดเรกทอรีถ้า (! file.isfile ()) {// ต้องเป็นไดเรกทอรี // การโทรซ้ำ! รายการ <file> deeperlist = getFileListingNosort (ไฟล์); result.addall (deeperlist); }} ผลการส่งคืน; } /*** ไดเรกทอรีนั้นถูกต้องหากมีอยู่ไม่ได้เป็นตัวแทนของไฟล์และสามารถอ่านได้ */ โมฆะส่วนตัวแบบคงที่ Velidatedirectory (ไฟล์ adirectory) พ่น filenotfoundexception {ถ้า (adirectory == null) {โยน unlegalargumentException ใหม่ ("ไดเรกทอรีไม่ควรเป็นโมฆะ"); } if (! adirectory.exists ()) {โยน filenotfoundexception ใหม่ ("ไดเรกทอรีไม่มีอยู่:" + adirectory); } if (! adirectory.isdirectory ()) {โยน unlegalargumentException ใหม่ ("ไม่ใช่ไดเรกทอรี:" + Adirectory); } if (! adirectory.canread ()) {โยนใหม่ ulledalargumentException ("ไม่สามารถอ่านไดเรกทอรี:" + adirectory); -希望本文所述对大家的 Java 程序设计有所帮助。