Java递归读取文件夹下所有文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java递归读取文件夹下所有文档相关的知识,希望对你有一定的参考价值。

/**
 * 递归读取文件夹下所有文档
 * @author Administrator
 *
 */
public class FileLoop{
    private static List<File> fileList = new ArrayList<File>();
    
    public static void main(String[] args) {
        List<File> list = fileReadLoop("c:/dir");
        
        for(int i=0; i<list.size(); i++){
             System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(list.get(i).lastModified()))+":"+list.get(i).getName());
         }
    }
    
     /**
      * 循环获取指定文件夹下的所有文件
      * @param path
      */
     private void loopReadDir(String path){
         File filePath = new File(path);
         File[] list = filePath.listFiles();
         if(list!=null && list.length>0){
             for(int i=0; i<list.length; i++){
                 File f = list[i];
                 if(f.isFile() && !f.isHidden()){
                     fileList.add(f);
                 }else if(f.isDirectory() && !f.isHidden()){
                     loopReadDir(f.getPath());
                 }
             }
         }
     }
     
     /**
      * 将文件按日期排序
      * @param list
      * @return
      */
     private void sortFileList(){
        //按文件日期排序
         Collections.sort(fileList, new Comparator<File>() {
            @Override
            public int compare(File o1, File o2) {
                if(o1.lastModified() > o2.lastModified()){
                    return -1;
                }else if(o1.lastModified() == o2.lastModified()){
                    return 0;
                }else{
                    return 1;
                }
            }
        });
     }

     /**
      * 调用静态方法
      * @param path
      * @return
      */
    public static List<File> fileReadLoop(String path) {
        FileLoop fileCon = new FileLoop();
        fileCon.loopReadDir(path);
        fileCon.sortFileList();
        return fileList;
    }
}

 

以上是关于Java递归读取文件夹下所有文档的主要内容,如果未能解决你的问题,请参考以下文章

递归读取制定目录下所有文件夹和文件的实现(java)

Java读取指定目录下的所有文件(子目录里的文件也可递归得到)

递归读取目录文件下的所有文件

Linux Shell之递归读取指定目录下的所有文件

Java 递归获取一个路径下的所有文件,文件夹名称

php 递归读取文件夹内所有文件报错