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

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

此方法将为您提供包含dir文件夹列表以及子文件夹的列表:

 public void listf(String directoryName, ArrayList 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); } } } 

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

 private List getListFiles(File parentDir) { ArrayList inFiles = new ArrayList(); 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 files = getListFiles(new File(directoryPath));