JAVA ANDROID - 获取文件夹的列表文件

时间:2013-12-08 19:29:35

标签: java android list directory

我想在GridView中显示不同文件夹的图像,但我不知道我需要做什么才能获得一个列表,其中包含可绘制文件夹内文件的名称。

2 个答案:

答案 0 :(得分:9)

此方法将为您提供一个列表,其中包含dir文件夹列表以及子文件夹:

public void listf(String directoryName, ArrayList<File> files) {
File directory = new File(directoryName);

// get all the files from a directory
File[] fList = directory.listFiles();
for (File file : fList) {
    if (file.isFile()) {
        files.add(file);
    } else if (file.isDirectory()) {
        listf(file.getAbsolutePath(), files);
    }
}
}

答案 1 :(得分:0)

首先在AsyncTask类中使用此方法。

private List<File> getListFiles(File parentDir) {
        ArrayList<File> inFiles = new ArrayList<File>();
        File[] files = parentDir.listFiles();
        for (File file : files) {
            if (file.isDirectory()) {
                if(file.getName().toString().toLowerCase().contains(fileNameToSearch.toLowerCase()) || file.getName().toString().toUpperCase().contains(fileNameToSearch.toUpperCase())){
                    inFiles.add(file);
                }else {
                    inFiles.addAll(getListFiles(file));
                }
            } else {
                if(file.getName().toString().toLowerCase().contains(fileNameToSearch.toLowerCase()) || file.getName().toString().toUpperCase().contains(fileNameToSearch.toUpperCase())){
                    inFiles.add(file);
                }
            }
        }
        return inFiles;
    }

doInBackground(...)

调用此方法
List<File> files = getListFiles(new File(directoryPath));