我需要的 :
1)我需要找到所有 TEXT 文件,这也是我的 sdcard 文件夹/子文件夹。
2)之后,我将所有文件名和路径存储到 ArrayList 中。
所以,首先我必须对第一点进行排序。这需要什么课程?
我搜索的内容:
1)FilenameFilter 但没有得到正确的使用方法
我需要的 :
1)我需要找到所有 TEXT 文件,这也是我的 sdcard 文件夹/子文件夹。
2)之后,我将所有文件名和路径存储到 ArrayList 中。
所以,首先我必须对第一点进行排序。这需要什么课程?
我搜索的内容:
1)FilenameFilter 但没有得到正确的使用方法
试试下面的代码来从 sdcard 中获取所有的文本文件。
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());
}
}
}
}
}
}
}