How do I list all files in a subdirectory in scala?

后端 未结 19 1505
旧巷少年郎
旧巷少年郎 2020-11-28 03:35

Is there a good \"scala-esque\" (I guess I mean functional) way of recursively listing files in a directory? What about matching a particular pattern?

For example re

19条回答
  •  野性不改
    2020-11-28 03:55

    This incantation works for me:

      def findFiles(dir: File, criterion: (File) => Boolean): Seq[File] = {
        if (dir.isFile) Seq()
        else {
          val (files, dirs) = dir.listFiles.partition(_.isFile)
          files.filter(criterion) ++ dirs.toSeq.map(findFiles(_, criterion)).foldLeft(Seq[File]())(_ ++ _)
        }
      }
    

提交回复
热议问题