Android 如何加速扫描SD卡中的所有txt文件?

Android 如何加速扫描SD卡中的所有txt文件?,android,file,sd-card,Android,File,Sd Card,我使用递归函数扫描/mnt/sdcard下的所有路径,并找出所有以.txt结尾的文件,但我发现如果在我真正的android手机上使用它,速度会非常慢。 是否有类似缓冲输入流的东西来加速扫描过程 private txtFileFilter txtff = new txtFileFilter(); private void scanAllTxtFiles(File location, ArrayList<Stri

我使用递归函数扫描/mnt/sdcard下的所有路径,并找出所有以.txt结尾的文件,但我发现如果在我真正的android手机上使用它,速度会非常慢。 是否有类似缓冲输入流的东西来加速扫描过程

                    private txtFileFilter txtff = new txtFileFilter();

                    private void scanAllTxtFiles(File location, ArrayList<String> list) {

                        File[] files = location.listFiles(txtff);
                        if (files != null) {
                            for (File f : files) {
                                if (f.isDirectory()) {
                                    scanAllTxtFiles(f, list);
                                } else if (f.isFile()) {
                                    list.add(f.getAbsolutePath().substring(
                                            externalPathLength));
                                }
                            }
                        }
                    }

                }

                private class txtFileFilter implements FileFilter {

                    @Override
                    public boolean accept(File pathname) {
                        // TODO Auto-generated method stub
                        if (pathname.isFile()
                                && pathname.getName().length() >= 4
                                && pathname.getName()
                                        .substring(pathname.getName().length() - 4)
                                        .equals(".txt")) {
                            return true;
                        } else if (pathname.isDirectory()) {
                            return true;
                        }
                        return false;
                    }

                }
private txtFileFilter txtff=new txtFileFilter();
专用void scanalltfiles(文件位置,ArrayList列表){
File[]files=location.listFiles(txtff);
如果(文件!=null){
用于(文件f:文件){
if(f.isDirectory()){
扫描所有TXT文件(f,列表);
}else if(f.isFile()){
list.add(f.getAbsolutePath().substring(
外部路径长度);
}
}
}
}
}
私有类txtFileFilter实现FileFilter{
@凌驾
公共布尔接受(文件路径名){
//TODO自动生成的方法存根
if(路径名.isFile())
&&路径名.getName().length()>=4
&&路径名
.substring(路径名.getName().length()-4)
.equals(“.txt”)){
返回true;
}else if(路径名.isDirectory()){
返回true;
}
返回false;
}
}

您能告诉我们到目前为止您尝试了什么吗?您应该向我们展示您的递归函数,也许有人可以找到改进其性能的方法performance@piokuc我添加了代码…@user2011482在我看来有点被截断了。@piokuc我调用它并以“/mnt/sdcard”开头