在Kotlin中递归列出文件

mat*_*teo 35 file list kotlin

使用kotlin列出目录中的文件,我使用了list()和listFiles()函数:

File("/tmp").list().forEach { println(it) }
File("/tmp").listFiles().forEach { println(it) }
Run Code Online (Sandbox Code Playgroud)

但是,我如何递归列出文件?

hot*_*key 45

使用的一个.walk(...),.walkBottomUp().walkTopDown()进行功能扩展File,其区别仅仅在于将这些文件显示的顺序,所有生产FileTreeWalk,实现Sequence<File>:

File("/tmp").walkTopDown().forEach { println(it) }
Run Code Online (Sandbox Code Playgroud)