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

时间:2013-04-25 16:29:18

标签: android file sd-card

我使用递归函数扫描/ 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;
                    }

                }

0 个答案:

没有答案