Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:如何列出父文件夹中的所有子文件夹?_Java_Android_Arrays_Android Studio - Fatal编程技术网

Java Android:如何列出父文件夹中的所有子文件夹?

Java Android:如何列出父文件夹中的所有子文件夹?,java,android,arrays,android-studio,Java,Android,Arrays,Android Studio,我想在我的android应用程序中显示子文件夹。如何获取父文件夹中所有子文件夹的路径。假设我有一个名为Parent folder的文件夹,其中有两个子文件夹,分别名为sub folder 1和sub folder 2如何在数组列表中获取这两个子文件夹的路径 To list all sub files and sub directories nested in all levels, one solution is to use recursion algorithm: 列出第一级中的文件 对于

我想在我的android应用程序中显示子文件夹。如何获取父文件夹中所有子文件夹的路径。假设我有一个名为
Parent folder
的文件夹,其中有两个子文件夹,分别名为
sub folder 1
sub folder 2
如何在数组列表中获取这两个子文件夹的路径

To list all sub files and sub directories nested in all levels, one solution is to use recursion algorithm:
  • 列出第一级中的文件
  • 对于第一级列表文件中的每个文件:
  • a-如果文件是目录:

    • 打印出目录名
    • 对当前目录重复步骤1和2
    b-如果文件是一个文件:

    • 打印出文件名
    • 继续下一个文件
    示例代码:

    public void listDirectory(String dirPath, int level) {
            File dir = new File(dirPath);
            File[] firstLevelFiles = dir.listFiles();
            if (firstLevelFiles != null && firstLevelFiles.length > 0) {
                for (File aFile : firstLevelFiles) {
                    for (int i = 0; i < level; i++) {
                        System.out.print("\t");
                    }
                    if (aFile.isDirectory()) {
                        System.out.println("[" + aFile.getName() + "]");
                        listDirectory(aFile.getAbsolutePath(), level + 1);
                    } else {
                        System.out.println(aFile.getName());
                    }
                }
            }
    }
    
    public void列表目录(字符串dirPath,int级别){
    文件目录=新文件(目录路径);
    File[]firstLevelFiles=dir.listFiles();
    if(firstLevelFiles!=null&&firstLevelFiles.length>0){
    对于(文件:firstLevelFiles){
    对于(int i=0;i
    假设我有一个名为Parent folder的文件夹
    不够。您应该从文件夹的完整路径开始。如果子文件夹中有子文件夹怎么办?所需的深度是多少?在这个函数中,级别参数是什么?级别:用于缩进输出,使输出看起来像一个层次结构。必须在级别为0的情况下调用该方法。如您所见,在listDirectory()方法中,有一个对自身的调用:listDirectory(aFile.getAbsolutePath(),level+1);