私が必要なもの:
1)sdcardフォルダー/サブフォルダーでもあるすべてのTEXTファイルを見つける必要があります。
2)その後、すべてのファイル名とパスを ArrayList に保存します。
そのため、まず最初のポイントをソートする必要があります。これにはどのクラスが必要ですか?
私が検索するもの:
1)FilenameFilter が、これを使用する適切な方法を取得していません
私が必要なもの:
1)sdcardフォルダー/サブフォルダーでもあるすべてのTEXTファイルを見つける必要があります。
2)その後、すべてのファイル名とパスを ArrayList に保存します。
そのため、まず最初のポイントをソートする必要があります。これにはどのクラスが必要ですか?
私が検索するもの:
1)FilenameFilter が、これを使用する適切な方法を取得していません
以下のコードを試して、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; } }
これを試してみると、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());
}
}
}
}
}
}
}