本文实例讲述了 java 实现递归文件列表的方法。分享给大家供大家参考。具体如下 :
FILLISTING.Java 如下 :
Импорт java.util.*; импортировать java.io.*;/*** Рекурсивный список файлов в указанном каталоге.** @author javapractices.com* @author Alex Wong* @author Anonymous*/public Final Class FileSting { /*** Продемонстрировать использование. * * @param aargs - <tt> aargs [0] </tt> является полным именем существующего * каталога, который можно прочитать. */ public static void main (string ... aargs) бросает filenotfoundexception {file startDirectory = new File (aArgs [0]); Список <File> files = fileListing.getFileListing (startDirectory); // Распечатать все имена файлов, в порядке файла. }} /** * Рекурсивно ходить по дереву каталогов и вернуть список всех * найденных файлов; Список отсортирован с использованием File.com Ppareto (). * * @param astartingdir - это действительный каталог, который можно прочитать. */ static public list <file> getFileListing (файл aStartingDir) бросает filenotFoundException {valiveDieRectory (astartingDir); Список <File> result = getFileListingNoSort (aStartingDir); Collections.sort (результат); результат возврата; } // private // static private list <file> getFileListingNoSort (file aStartingDir) thriings filenotFoundException {list <File> result = new ArrayList <File> (); File [] filesanddirs = astartingdir.listfiles (); List <file> filesdirs = arrays.aslist (filesanddirs); для (файл файла: filesdirs) {result.add (file); // всегда добавлять, даже если каталог if (! file.isfile ()) {// должен быть каталог // рекурсивный вызов! Список <File> deeperList = getFileListingNoSort (file); Result.addall (DeeperList); }} return result; } /*** Каталог действителен, если он существует, не представляет файл и может быть прочитал. */ static private void valiveRecterectory (файл adirectory) бросает filenotfoundexception {if (adirectory == null) {бросить новое allosalargumentException («каталог не должен быть нулевым.»); } if (! adirectory.exists ()) {бросить новый filenotfoundexception ("каталог не существует:" + adirectory); } if (! adirectory.isdirectory ()) {бросить new allogalargumentException ("не является каталогом:" + adirectory); } if (! adirectory.canread ()) {бросить новый allosalargumentException ("каталог не может быть прочитал:" + adirectory); }}}希望本文所述对大家的 Java 程序设计有所帮助。