本文实例讲述了 Java 实现递归文件列表的方法。分享给大家供大家参考。具体如下 :
Filelisting.java : :
Importer java.util. *; Importer Java.io. *; / *** Répertage de fichiers récursifs sous un répertoire spécifié. * * @author javapractices.com * @author alex wong * @author utilisateur anonyme * / public final filelisting { / ** * démontrez l'utilisation. * * @param aargs - <tt> aargs [0] </tt> est le nom complet d'un répertoire * existant qui peut être lu. * / public static void main (string ... aargs) lève filenotfoundException {file startDirectory = new File (aargs [0]); List <fichle> files = fileListing.getFileListing (startDirectory); // imprime tous les noms de fichiers, dans l'ordre de fichier.compareto () pour (fichier de fichier: fichiers) {System.out.println (fichier); }} / ** * Promenez récursivement un arbre de répertoire et renvoyez une liste de tous les * fichiers trouvés; La liste est triée à l'aide de fichier.compareto (). * * @param astartingdir est un répertoire valide, qui peut être lu. * / Liste publique statique <Fichier> GetFileListing (fichier AstartingDir) lève filenotFoundException {valideDirectory (AstartingDir); List <Fich> result = getFileListingNosort (AstartingDir); Collection.Sort (résultat); Résultat de retour; } // private // Liste privée statique <Fichier> getFileListingNosort (fichier AstartingDir) lève filenotFoundException {list <fichle> result = new ArrayList <FichE> (); File [] filesandDirs = astartingdir.listFiles (); List <Fichier> filesDirs = arrays.aslist (filesandDirs); pour (fichier de fichier: filesDirs) {result.add (fichier); // Ajouter toujours, même si le répertoire if (! file.isfile ()) {// doit être un répertoire // appel récursif! List <FichE> DeeperList = GetFileListingNosort (fichier); result.addall (DeeperList); }} Retour Résultat; } / ** * Le répertoire est valide s'il existe, ne représente pas de fichier et peut être lu. * / static privé void validatedirectory (fichier adirectory) lève filenotfoundException {if (adirectory == null) {lancez new illégalargumentException ("Le répertoire ne doit pas être nul."); } if (! adirectory.exists ()) {lancer un nouveau filenotfoundException ("Le répertoire n'existe pas:" + adirectory); } if (! adirectory.isdirectory ()) {Throw New illégalArgumentException ("n'est pas un répertoire:" + adirectory); } if (! adirectory.canRead ()) {Throw New illégalArgumentException ("Le répertoire ne peut pas être lu:" + adirectory); }}}希望本文所述对大家的 Java 程序设计有所帮助。