使用 Scala 访问目录



我正在阅读"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 
  }

希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新