Android 获取SD卡指定格式的文件

来源:互联网 发布:香港中文大学 知乎 编辑:程序博客网 时间:2024/05/01 02:58
由于手机里面的文件不是很多,大约8G左右,遍历时间在2S以内
调用方法:
File f =Environment.getExternalStorageDirectory();List<String> arr = FileUtils.getFiles(f,"txt",true);

/** * 根据传入的路径 获取该路径下 指定格式的文件 * @param dir 要遍历目录的路径 * @param endName 指定的格式 * @param isAll 是否遍历该路径下的子目录 * @return */public static List<String> getFiles(File dir, String endName, boolean isAll) {    List<String> files = new ArrayList<>();    recursionFile(dir,files,endName.contains(".")? endName:"."+endName,isAll);    return files;}private static void recursionFile(File dir,List<String> _files,final String endName,boolean isAll) {    File[] files = dir.listFiles();    if (files == null) {        return;    }    for (File file : files) {        if (file.isDirectory() && isAll) {            String [] arr =file.list(new FilenameFilter() {                @Override                public boolean accept(File dir, String name) {                    return name.endsWith(endName);                }            });            for (int i = 0; i <arr.length; i++) {                _files.add(file.getAbsolutePath().toString()+"/"+arr[i]);            }            recursionFile(file,_files,endName,isAll);        }    }}
原创粉丝点击