Java сканирует все файлы под указанной папкой для вашей ссылки. Конкретный контент заключается в следующем
Сканируйте все файлы под папкой, потому что нет ограничения на количество слоев в папке, которые могут быть столько же, сколько десятки или сотни слоев. Обычно есть два способа пройти все файлы под указанной папкой.
Ниже я дам два кода реализации, включая рекурсивные и нерекурсивные реализации, код показан ниже.
Код Java:
Пакет Q.test.fileScanner; Импорт java.io.file; импортировать java.util.arraylist; импортировать java.util.linkedlist; Импорт Q.Test.FileScanner.Exception.Scanfilesexception; / *** @author Evil Mr.*/ public Class foterfilescanner {private Static ArrayList <object> scanfiles = new ArrayList <object> (); / ** Реализация LinkedList **/ Private Static LinkedList <file> queuefiles = new LinkedList <File> (); / **! File Directory = новый файл (FOLDERPATH); if (! Directory.isdirectory ()) {Throw New ScanFilesexception ('' ' + folderPath +' "' +" Путь ввода не является каталогом, пожалуйста, введите правильный путь каталога.^_^...^_^"); } if (directory.isdirectory ()) {file [] fileList = diefore.ListFiles (); for (int i = 0; i <filelist.length; i ++) { / ** Если это в настоящее время папка, введите рекурсивную папку сканирования ** / if (filest [i] .isdirectory ()) {Directories.Add (Filelist [i] .getabSolutePath ()); / ** Рекурсивно сканировать папку ниже **/ scanfileswithrecursion (filelist [i] .getabsolutepath ()); } / ** Неотдача ** / else {scanfiles.add (filelist [i] .getabsolutepath ()); }}} вернуть ScanFiles; } / ***** TODO: сканировать все файлы ниже указанной папки нерекурсивным образом* @return ArrayList <object>* @param foterpath Папка, которую необходимо сканировать* @author mr. vil File Directory = новый файл (FOLDERPATH); if (! Directory.isdirectory ()) {Throw New ScanFilesexception ('' ' + folderPath +' "' +" Путь ввода не является каталогом, пожалуйста, введите правильный путь каталога.^_^...^_^"); } else {// Сначала сканировать первый файл каталога слоя [] files = directory.listFiles (); // транслируют отсканированное массив файлов. Если это папка, поместите ее в LinkedList и обработайте его позже для (int i = 0; i <files.length; i ++) {if (files [i] .isdirectory ()) {queuefiles.add (files [i]); } else {// временно поместите имя файла в scanfiles scanfiles.add (files [i] .getabsolutepath ()); }} // Если LinkedList не является пусковым, пройденным LinkedList, while (! Queuefiles.isempty ()) {// Пересехать первый файл в LinkedList headLectory = queuefiles.removefirst (); File [] currentFiles = head -lectoregor.listfiles (); for (int j = 0; j <currentfiles.length; j ++) {if (currentFiles [j] .isdirectory ()) {// Если это все еще папка, положите его в queuefiles.Add (currentFiles [j]); } else {scanfiles.add (currentFiles [j] .getabSolutePath ()); }}} вернуть ScanFiles; }}}}} return Scanfiles; }}}}}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.