zoukankan      html  css  js  c++  java
  • 递归遍历文件夹中的文件

    package util;
    
    import java.io.File;
    import java.util.ArrayList;
    
    import entity.FileOfDown;
    
    public class FileUtil {
        public static ArrayList<File> getFiles(String absolutePath){
            return new FileList(absolutePath).fileList ;
        }
        /**
         * 
         * 功能: 实现遍历指定绝对路径下的所有文件
         * 设计原因: 如果单一使用一个方法,则需要在方法递归的时候传递最终存放文件数组的对象。
         * 使用一个类则可以将最终存放结果的数组设置为属性,这样递归方法无论递归多深都可以访问属性。
         *
         */
        private static class FileList {
            public ArrayList<File> fileList = new ArrayList<File>() ;
            public FileList(String absolutePath ){
                getFiles(absolutePath) ;
            }
            private void getFiles(String absolutePath ){
                File file = new File(absolutePath) ;
                if(!file.exists()){
                    return ;
                }
                if(file.isDirectory()){
                    // {@code null} if this abstract pathname does not denote a directory, 
                    //or if an I/O error occurs.
                    File[] files = file.listFiles() ;
                    if(files == null || files.length == 0 ){
                        return ;
                    }
                    for(File fileItem : files ){
                        if(fileItem.isDirectory()){
                            getFiles(fileItem.getAbsolutePath()) ;
                        }else{
                            
                            fileList.add(fileItem) ;
                        }
                    }
                }else{
                    fileList.add(file) ;
                }
            }
        }
    }
  • 相关阅读:
    JavaScript 数组去重
    Javascript数组 reduce() 方法
    Vue事件总线(EventBus)
    前端多媒体-音频
    前端多媒体-视频
    VUE3.0 总结
    el-select地区区号选择
    vue中点击获取相应元素
    Markdown 语法
    Codeforces Round #295 (Div. 2) B. Two Buttons 520B
  • 原文地址:https://www.cnblogs.com/caiyao/p/4732078.html
Copyright © 2011-2022 走看看