Scala - подсчет количества файлов в каталоге с заданным расширением - PullRequest
3 голосов
/ 01 марта 2012

Привет, у меня есть скрипт, который пакетно конвертирует pdf в серию изображений, и я хотел бы подсчитать общее количество файлов в каталоге с расширением .jpg.

Пока у меня есть

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

     /* DO SOMETHING */

}

Есть ли компактный способ сделать это, не просматривая каждый файл?

Заранее спасибо, высоко ценится:)

Ответы [ 3 ]

7 голосов
/ 01 марта 2012

Как насчет:

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

Option(...) действует как null проверка и необходима, потому что list и listFiles могут вернуть null.

0 голосов
/ 02 марта 2012
for (file <- new java.io.File (".").listFiles;
  if (file.getName ().matches (".*\\.scala"))) println (file)

Результат:

./TopTen.scala
./QuadTree.scala
./Euler093.scala
./ParallelFactorial.scala
./GenericCartesian.scala
0 голосов
/ 01 марта 2012

Если вам нужна рекурсивная , то можно сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...