Вы можете определить метод, который разберет ваши имена файлов в кортеж из 3 чисел:
import scala.util.Try
def parse(s: String) = s.split("[.-]") match { //simple one case thanks to jwvh ;)
case Array(_, a, b) => Try(a.toInt, b.toInt).toOption //in case there's folder like 34.xxx-0
case _ => None
}
И затем просто используйте его, чтобы найти последний файл:
val lastFile = new File("/test")
.listFiles(_.isDirectory)
.maxBy(f => parse(f.getName))
В Scala 2.13 вы также можете сделать:
def parse(s: String) = s match {
case s"${_}.$a-$b" => Try(a.toInt, b.toInt).toOption
case _ => None
}
, что, возможно, еще более читабельно.