首页 > 解决方案 > 如何在 kotlin 中使用 File.walk

问题描述

我正在尝试使用file.walk这种方式进入文件夹:

File.walk(FileWalkDirection.BOTTOM_UP).forEach()

文档说:

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

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

枚举常量序数:1

如果我使用FileWalkDirection.BOTTOM_UP它是我的打印步行

emergency-support/digital/beginner/.category.yml
emergency-support/digital/.category.yml
emergency-support/physical/beginner/.category.yml
emergency-support/physical/.category.yml
emergency-support/.category.yml

我想为这个结果而走:

emergency-support/.category.yml
emergency-support/physical/.category.yml
emergency-support/physical/beginner/.category.yml
emergency-support/digital/.category.yml
emergency-support/digital/beginner/.category.yml

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

标签: kotlin

解决方案


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

File
    .walk(FileWalkDirection.BOTTOM_UP)
    .sortedBy { it.isDirectory }
    .forEach { println(it) }

推荐阅读