Kotlin 递归获取文件夹的大小

Aqu*_*hka 0 directory size file kotlin

我已经看到如何在 Java 中返回文件夹的大小获取文件夹或文件的大小,但我在 Kotlin 中找不到它。

如何在 Kotlin 中获取文件夹的大小?

hot*_*key 6

要递归地获取目录中文件及其子项的总大小,您可以使用该.walkTopDown()函数构建一个枚举所有文件的序列,然后.length对其文件元素的s求和。

val directory: File = ...

val totalSize = 
    directory.walkTopDown().filter { it.isFile }.map { it.length() }.sum()
Run Code Online (Sandbox Code Playgroud)

.isFile此处需要过滤元素 using ,因为未指定.lengthFile表示目录上调用时返回的内容。