Java escanea todos los archivos en la carpeta especificada para su referencia. El contenido específico es el siguiente
Escanee todos los archivos en una carpeta, porque no hay límite en el número de capas en la carpeta, que pueden ser hasta docenas o cientos de capas. Por lo general, hay dos formas de atravesar todos los archivos en la carpeta especificada.
A continuación, daré dos códigos de implementación, incluidas las implementaciones recursivas y no recursivas, el código se muestra a continuación.
Código Java:
Paquete Q.Test.FileScanner; import java.io.file; import java.util.arrayList; import java.util.linkedlist; import q.test.filescanner.exception.scanfilesexception; / *** @Author Evil MR.*/ Public Class FolderFileScanner {private static arrayList <ject> scanfiles = new ArrayList <Sect> (); / ** Implementación de LinkedList **/ private static LinkedList <Sche> queueFiles = new LinkedList <ScheS> (); /** * TODO: Recursively scan the specified file under the specified folder* @return ArrayList<Object> * @author Mr. Evil (LQ) * @time November 3, 2017*/ public static ArrayList<Object> scanFilesWithRecursion(String folderPath) throws ScanFilesException{ ArrayList<String> directories = new ArrayList<String>(); Directorio de archivos = nuevo archivo (carpeta); if (! Directory.ISDirectory ()) {Throw New ScanFilesexception ('"' + carpeta + '' ' +" La ruta de entrada no es un directorio, ingrese la ruta correcta del directorio.^_^...^_^"); } if (directorio.isDirectory ()) {archivo [] fileList = directorio.listFiles (); for (int i = 0; i <fileList.length; i ++) { / ** Si actualmente es una carpeta, ingrese la carpeta de escaneo recursivo ** / if (fileList [i] .isDirectory ()) {Directorios.Add (fileList [i] .getAbSolutePath ()); / ** Escanear recursivamente la carpeta a continuación **/ ScanFilesWithRecursion (filelista [i] .getabsolutePath ()); } / ** no complejo ** / else {scanfiles.add (fileList [i] .getabSolutePath ()); }}} return ScanFiles; } / **** TODO: Escanee todos los archivos debajo de la carpeta especificada de una manera no recursiva* @return ArrayList <S Object>* @param carpeterPath la ruta de la carpeta que debe escanear* @author Mr. Evil (lq)* @Time 3, 2017* / public ARrayList <Static ArrayList <S Object> ScanFilesWithnorecursion (string FolderPath (String FolderPath) shaterpath) shaterpath) selle shanfilepath) shanfileSeTspath) shanfileSeTsmatpath) shanfileSpath) shanfileSeTspath ulle shanfileSpath (string foleadpath). Directorio de archivos = nuevo archivo (carpeta); if (! Directory.ISDirectory ()) {Throw New ScanFilesexception ('"' + carpeta + '' ' +" La ruta de entrada no es un directorio, ingrese la ruta correcta del directorio.^_^...^_^"); } else {// primero escanee el archivo de directorio de la primera capa [] archivos = directorio.listfiles (); // Transular la matriz de archivos escaneados. Si es una carpeta, colóquela en LinkedList y procese más tarde para (int i = 0; i <files.length; i ++) {if (files [i] .isDirectory ()) {queueFiles.add (files [i]); } else {// Ponga temporalmente el nombre del archivo en ScanFiles ScanFiles.Add (archivos [i] .getAbSolutePath ()); }} // Si LinkedList no está vaciado, LinkedList, LinkedList, while (! QueueFiles.isEmpty ()) {// mueva el primer archivo en LinkedList HeadDirectory = queueFiles.RemoveFirst (); Archivo [] currentFiles = headDirectory.listFiles (); for (int j = 0; j <currentFiles.length; j ++) {if (currentFiles [j] .IsDirectory ()) {// Si sigue siendo una carpeta, póngala en LinkedList QueueFiles.Add (AccentFiles [J]); } else {scanfiles.add (currentFiles [j] .getabsolutePath ()); }}} return ScanFiles; }}}}} return ScanFiles; }}}}}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.