如何从我的SD卡创建所有TEXT文件的listView?

时间:2013-10-01 11:13:03

标签: android

我需要的是什么:

1)我需要找到所有TEXT文件,这也是我的sdcard文件夹/子文件夹。

2)之后我将所有文件名和路径存储存储到ArrayList中。

所以,首先我必须排序第一点。这需要哪些课程?

我搜索的内容:

1)FilenameFilter但没有正确使用此方法

2 个答案:

答案 0 :(得分:1)

尝试使用以下代码从SD卡获取所有文本文件。

        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, String filename) {
                    // TODO Auto-generated method stub
                    if (filename.endsWith(".txt")) {
                        return true;
                    } 
                    return false;
                }
            }

答案 1 :(得分:0)

尝试这将为您提供sdcard中的所有文本文件

private ArrayList<String> allImages = new ArrayList<String>();
    String[] extensions = { "txt" };

    private void loadAllImages(String rootFolder) {

        File file = new File(rootFolder);
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            if (files != null && files.length > 0) {
                for (File f : files) {
                    if (f.isDirectory()) {
                        loadAllImages(f.getAbsolutePath());
                    } else {
                        for (int i = 0; i < extensions.length; i++) {
                            if (f.getAbsolutePath().endsWith(extensions[i])) {
                                allImages.add(f.getAbsolutePath());
                            }
                        }
                    }
                }
            }
        }

    }