Android 如何加速扫描SD卡中的所有txt文件?
我使用递归函数扫描/mnt/sdcard下的所有路径,并找出所有以.txt结尾的文件,但我发现如果在我真正的android手机上使用它,速度会非常慢。 是否有类似缓冲输入流的东西来加速扫描过程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
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”开头