java中扫描指定文件夹下面的所有文件
扫描一个文件夹下面的所有文件,因为文件夹的层数没有限制可能多达几十层几百层,通常会采用两种方式来遍历指定文件夹下面的所有文件。
递归方式
非递归方式(采用队列或者栈实现)
下面我就给出两种方式的实现代码,包括了递归与非递归实现,code如下所示。
package q.test.filescanner;
import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;
import q.test.filescanner.exception.ScanFilesException;
/**
* @author 邪恶小先生
*/
public class FolderFileScanner {
private static ArrayList scanFiles = new ArrayList();
/**linkedList实现**/
private static LinkedList queueFiles = new LinkedList();
/**
* TODO:递归扫描指定文件夹下面的指定文件
* @return ArrayList
* @author 邪恶小先生(LQ)
* @time 2017年11月3日
*/
public static ArrayList scanFilesWithRecursion(String folderPath) throws ScanFilesException{
ArrayL