0

私が必要なもの:

1)sdcardフォルダー/サブフォルダーでもあるすべてのTEXTファイルを見つける必要があります。

2)その後、すべてのファイル名とパスを ArrayList に保存します。

そのため、まず最初のポイントをソートする必要があります。これにはどのクラスが必要ですか?

私が検索するもの:

1)FilenameFilter が、これを使用する適切な方法を取得していません

4

2 に答える 2

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;
                }
            }
于 2013-10-01T11:17:01.470 に答える
0

これを試してみると、SDカードからすべてのテキストファイルが得られます

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());
                            }
                        }
                    }
                }
            }
        }

    }
于 2013-10-01T11:24:51.833 に答える