如何在内部存储中列出所有子目录?

时间:2015-12-23 17:06:12

标签: java android file android-studio

我希望我已经在其他活动中创建了内部存储中的所有子目录列表。

我想做这样的事情getFilesDir().listFiles();,但这个是针对root文件的,我想列出dirs来执行此操作subDir = getDir("nameOfDir", MODE_PRIVATE);,这最后一个代码可以工作但是带有“静态”名称。我想动态地这样做。

1 个答案:

答案 0 :(得分:2)

这是使用递归打印所有文件名和目录名:

public static void main(String[] args) throws IOException, URISyntaxException{
    getFiles("your/path");

}
public static void getFiles(String path){
    File folder = new File(path);
    File[] listOfFiles = folder.listFiles();

    for (int i = 0; i < listOfFiles.length; i++) {
      if (listOfFiles[i].isFile()) {
        System.out.println("File " + listOfFiles[i].getName());
      } else if (listOfFiles[i].isDirectory()) {
        System.out.println("Directory " + listOfFiles[i].getName());
          getFiles(listOfFiles[i].getPath());
      }
    }
}