最近在学习Scala,想要获取指定目录下的所有文件名,但是Scala 中有没有相应的库函数,由于本人是新手,所以弄了半天,好不容易才将网上的一段Scala 递归获取指定目录下所有目录的代码改成获取文件名,特在此备忘,也希望高手指点。
下面是一段递归获取目录名称的代码:
def subdirs(dir: File): Iterator[File] = { val children = dir.listFiles.filter(_.isDirectory) children.toIterator ++ children.toIterator.flatMap(subdirs _) }
稍加改动后变成获取文件名的代码,如下,欢迎指正:
def subdirs2(dir: File): Iterator[File] = { val d = dir.listFiles.filter(_.isDirectory) val f = dir.listFiles.filter(_.isFile).toIterator f ++ d.toIterator.flatMap(subdirs2 _) }
时间: 2024-10-23 11:42:32