我正在阅读"Scala for the impatient"(第二版(,我被困在如何访问目录(第 9.7 节(上。
我想按顺序打开目录的所有文件(不包括该目录中存在的文件夹;这些文件是文本文件(。书中提供的示例并不简单,因为它没有解释如何处理路径对象(java.nio.file.Path(。
这是书中的例子(略有修改(:
import java.nio.file._
val dirname: String = "./9_files_and_regular_expressions"
val entries = Files.list(Paths.get(dirname))
entries.toArray // print all the file names and consume the iterator...
val entries = Files.list(Paths.get(dirname))
try {
entries.forEach(p => process the path p)
} finally {
entries.close()
}
而不是"处理路径p",我想打开相关目录...我 https://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html 在这里看到了文档,但这个包似乎水平很低......我是否需要先将路径转换为文件,然后再处理此文件对象?
有没有更简单的方法在 Scala 中执行这个简单的任务(打开目录的文本文件(?
您可以读取目录并过滤其中的所有目录,并通过打开它来处理每个文件。下面是一个简单的例子
val dirname: String = "/path"
val files = new File(dirname)
files.listFiles().filter( !_.isDirectory).map{
file => process the file
}
希望这有帮助!