如何在 kotlin 中使用 File.walk

Dou*_*ita 6 kotlin

file.walkI\xe2\x80\x99m 尝试使用以下方式进入文件夹:

\n\n
File.walk(FileWalkDirection.BOTTOM_UP).forEach()\n
Run Code Online (Sandbox Code Playgroud)\n\n

文档说:

\n\n
\n

kotlin.io.FileWalkDirection 中定义的枚举条目 BOTTOM_UP

\n\n

深度优先搜索,在文件之后访问目录

\n\n

枚举常量序数:1

\n
\n\n

如果我使用FileWalkDirection.BOTTOM_UP它\xe2\x80\x99s我的打印行走

\n\n
emergency-support/digital/beginner/.category.yml\nemergency-support/digital/.category.yml\nemergency-support/physical/beginner/.category.yml\nemergency-support/physical/.category.yml\nemergency-support/.category.yml\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想为这个结果而步行:

\n\n
emergency-support/.category.yml\nemergency-support/physical/.category.yml\nemergency-support/physical/beginner/.category.yml\nemergency-support/digital/.category.yml\nemergency-support/digital/beginner/.category.yml\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何在目录之前访问文件?

\n

Oz *_*aim 10

我必须承认我并不完全理解你的问题。如果您只想先打印文件然后打印目录,并且您没有任何其他问题,则可以使用“sortedBy”函数:

File
    .walk(FileWalkDirection.BOTTOM_UP)
    .sortedBy { it.isDirectory }
    .forEach { println(it) }
Run Code Online (Sandbox Code Playgroud)