递归获取某个路径下的某类型文件

package cn.sh.ideal.eml;

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

public class MailDemo {
    static List filelist = new ArrayList();


    public static void main(String[] args) {
        List<File> fileList= MailDemo.getFileList("E:\\eml");
        for(File file:fileList){
            if("eml".equals(file.getName().substring(file.getName().lastIndexOf(".") + 1))){
                System.out.println("文件 "+file.getAbsolutePath());
            }
        }
    }

    /**
     * 递归获取改路径下所有文件集合
     * @param strPath
     * @return
     */
    public static List<File> getFileList(String strPath) {
        File dir = new File(strPath);
        File[] files = dir.listFiles(); // 该文件目录下文件全部放入数组
        if (files != null) {
            for (int i = 0; i < files.length; i++) {
                String fileName = files[i].getName();
                if (files[i].isDirectory()) { // 判断是文件还是文件夹
                    getFileList(files[i].getAbsolutePath()); // 获取文件绝对路径
                } else {
                    String strFileName = files[i].getAbsolutePath();
                    //System.out.println("---" + strFileName);
                    filelist.add(files[i]);
                }
            }
        }
        return filelist;
    }
}

猜你喜欢

转载自blog.csdn.net/supershuyun/article/details/88717743