欢迎光临散文网 会员登陆 & 注册

写一个 Kotlin 函数列出指定目录中的所有子目录

2023-05-14 05:27 作者:机器朗读  | 我要投稿


import java.io.File

fun listAllDirInDir(dir: String): List<File> {
    // 创建一个 File 对象,表示传入的目录路径
    val directory = File(dir)
    
    // 判断该目录是否存在,如果不存在则返回空列表
    if (!directory.exists()) {
        return emptyList()
    }
    
    // 调用 listFiles() 方法列出目录下的所有文件和子目录,返回一个数组
    // 使用 filter() 方法过滤出其中的子目录,并将它们转换为 List
    return directory.listFiles { file -> file.isDirectory() }?.toList() ?: emptyList()
}

该函数的逻辑很简单,主要分为以下几个步骤:

  1. 创建一个 File 对象,表示传入的目录路径。

  2. 判断该目录是否存在,如果不存在则返回空列表。

  3. 调用 listFiles() 方法列出目录下的所有文件和子目录,返回一个数组。

  4. 使用 filter() 方法过滤出其中的子目录,并将它们转换为 List

  5. 返回子目录的列表。

注意,该函数会忽略传入目录中的隐藏文件和隐藏目录。如果需要包括隐藏文件和目录,可以将 listFiles() 方法的参数改为 dir.listFiles(),或者在 filter() 方法中添加条件判断。


写一个 Kotlin 函数列出指定目录中的所有子目录的评论 (共 条)

分享到微博请遵守国家法律