Scala - 计算目录中具有已定义文件扩展名的文件数

时间:2012-03-01 16:48:05

标签: file scala

您好我有一个脚本批量将pdfs转换为一系列图像,我想要做的是计算目录中扩展名为.jpg的文件总数。

到目前为止我已经

for (file <- new File(path).listFiles) {

     /* DO SOMETHING */

}

在没有循环遍历每个文件的情况下,是否有一种紧凑的方式?

提前致谢,非常感谢:)

3 个答案:

答案 0 :(得分:7)

怎么样:

Option(new File(path).list).map(_.filter(_.endsWith(".jpg")).size).getOrElse(0)

Option(...)用作null项检查,因为listlistFiles可能会返回null

答案 1 :(得分:0)

如果你需要递归this,可以做

答案 2 :(得分:0)

for (file <- new java.io.File (".").listFiles;
  if (file.getName ().matches (".*\\.scala"))) println (file)

结果:

./TopTen.scala
./QuadTree.scala
./Euler093.scala
./ParallelFactorial.scala
./GenericCartesian.scala