Java 实现递归文件列表的方法。分享给大家供大家参考。具体如下 实现递归文件列表的方法。分享给大家供大家参考。具体如下:
FilElisting.Java 如下 ::
importar java.util.*; importar java.io.*;/*** Listagem de arquivos recursiva sob um diretório especificado. /*** Demonstre uso. * * @param aargs - <tt> aargs [0] </tt> é o nome completo de um diretório * existente que pode ser lido. */ public static void main (string ... aargs) lança fileNotfoundException {arquivo inicialDDirectory = novo arquivo (AARGS [0]); List <File> arquivos = fileListing.getFileLelisting (StartingDirectory); // Imprima todos os nomes de arquivos, na ordem do arquivo.compareto () para (arquivo de arquivo: arquivos) {System.out.println (arquivo); }} /** * Caminhe recursivamente uma árvore de diretório e retorne uma lista de todos os arquivos * encontrados; A lista é classificada usando o arquivo.compareto (). * * @param astartingdir é um diretório válido, que pode ser lido. */ Lista pública estática <File> GetFilELELELELTING (FILE ASTARTINGDIR) lança fileNotFoundException {ValidatedIRectory (Astartingdir); List <File> resultado = getFilElistingnosort (Astartingdir); Coleções.sort (resultado); resultado de retorno; } // Private // Lista privada estática <File> getFileListingnosort (arquivo Astartingdir) lança fileNotFoundException {list <File> resultado = new ArrayList <File> (); Arquivo [] filesanddirs = astartingdir.listfiles (); List <File> filesdirs = arrays.aslist (fileAnddirs); para (arquivo de arquivo: filesdirs) {resultado.add (arquivo); // sempre adicione, mesmo se o diretório se (! file.isfile ()) {// deve ser um diretório // Chamada recursiva! List <File> DeeperList = getFileLelistingnosort (arquivo); resultado.addall (ExeperList); }} Retornar resultado; } /*** O diretório é válido se existir, não representa um arquivo e pode ser lido. */ Void privado estático validadoDirectory (adirectory) lança fileNotfoundException {if (adirectory == null) {lança new ilegalArgumentException ("Diretório não deve ser nulo"); } if (! adirectory.exists ()) {throw new filenotfoundException ("O diretório não existe:" + adirectory); } if (! adirectory.isdirectory ()) {lança novo ilegalargumentException ("não é um diretório:" + adirectory); } if (! adirectory.CanRead ()) {lança novo ilegalArgumentException ("O diretório não pode ser lido:" + adirectory); }}}希望本文所述对大家的 Java 程序设计有所帮助。