Как получить список файлов (или всех файлов *.txt, например) в каталоге в Scala. Класс Source не помогает.
Чтение файлов из каталога в Scala
Ответ 1
new java.io.File(dirName).listFiles.filter(_.getName.endsWith(".txt"))
Ответ 2
Версия JDK7 с использованием нового класса DirectoryStream:
import java.nio.file.{Files, Path}
Files.newDirectoryStream(path)
.filter(_.getFileName.toString.endsWith(".txt"))
.map(_.toAbsolutePath)
Вместо строки это возвращает Path, на котором есть множество удобных методов, таких как "relativize" и "subpath".
Обратите внимание, что вам также потребуется импортировать import scala.collection.JavaConversions._
, чтобы включить взаимодействие с коллекциями Java.
Ответ 3
Класс Java File - это все, что вам нужно, хотя достаточно легко добавить некоторую Scala доброту в итерацию по каталогам.
import scala.collection.JavaConversions._
for(file <- myDirectory.listFiles if file.getName endsWith ".txt"){
// process the file
}
Ответ 4
Теперь вы должны использовать библиотеки Java для этого.