JAVA ANDROID - get list files of a folder

允我心安 提交于 2019-12-30 11:11:17

问题


I want to display images of different folders in a GridView, but I don't know what I need to do for get a list with the name of files that are inside a folder in drawable.


回答1:


this method will give you a list containing a list of dir folders and also sub folders:

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



回答2:


First Wirte this method in AsyncTask class.

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

Call this method from doInBackground(...)

List<File> files = getListFiles(new File(directoryPath));


来源:https://stackoverflow.com/questions/20457947/java-android-get-list-files-of-a-folder

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!