递归方式实现文件目录扫描

递归方式实现文件目录扫描

package com.example.util.ftp;

import java.io.File;
import java.util.ArrayList;

public class ArrayFile {
    
    

    private static ArrayList<Object> scanFiles = new ArrayList<Object>();
    public ArrayList<Object> scanFilesWithRecursion(String folderPath) throws ScanFilesException{
    
    
        ArrayList<String> dirctorys = new ArrayList<String>();
        File directory = new File(folderPath);
        if(!directory.isDirectory()){
    
    
            throw new ScanFilesException('"' + folderPath + '"' + " input path is not a Directory , please input the right path of the Directory. ^_^...^_^");
        }
        if(directory.isDirectory()){
    
    
            File [] filelist = directory.listFiles();
            for(int i = 0; i < filelist.length; i ++){
    
    
                /**如果当前是文件夹,进入递归扫描文件夹**/
                if(filelist[i].isDirectory()){
    
    
                    dirctorys.add(filelist[i].getAbsolutePath());
                    /**递归扫描下面的文件夹**/
                    scanFilesWithRecursion(filelist[i].getAbsolutePath());
                }
                /**非文件夹**/
                else{
    
    
                    scanFiles.add(filelist[i].getAbsolutePath());
                }
            }
        }
        return scanFiles;
    }
}

猜你喜欢

转载自blog.csdn.net/sll714827/article/details/112802634