我在 scala 中使用本机解析器组合器库,我想用它来解析许多大文件。我设置了组合器,但是我尝试解析的文件太大而无法一次全部读入内存。我希望能够通过我的解析器从输入文件流式传输并将其读回磁盘,这样我就不需要一次将它全部存储在内存中。我当前的系统看起来像这样:
val f = Source.fromFile("myfile")
parser.parse(parser.document.+, f.reader).get.map{_.writeToFile}
f.close
这会在解析时读取整个文件,我想避免这种情况。