Scala 获取指定目录下的所有文件

来源:互联网 发布:qq秒赞软件 编辑:程序博客网 时间:2024/05/08 08:07

       最近在学习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).toIteratorf ++ d.toIterator.flatMap(subdirs2 _)}

      最后再稍微改改,即可获得指定目录下所有的文件名和目录名:

def subdirs3(dir: File): Iterator[File] = {val d = dir.listFiles.filter(_.isDirectory)val f = dir.listFiles.toIteratorf ++ d.toIterator.flatMap(subdirs3 _)}





1 0