我试图修改Scala中的大型PostScript文件(有些大小只有1GB).该文件是一组批次,每批包含代表批号,页数等的代码.
我需要:
我当前的解决方案使用两个迭代器(iterA和iterB),从中创建Source.fromFile("file.ps").getLines.第一个迭代器(iterA)遍历一个while循环到批处理代码的开头(iterB.next每次都被调用).iterB然后继续搜索,直到下一个批处理代码(或文件末尾),计算它经过的页面数量.然后,它更新批次代码iterA的位置,重复该过程.
这似乎非Scala-like,我仍然没有设计好将这些更改保存到新文件的方法.
解决这个问题的好方法是什么?我应该完全抛弃迭代器吗?我最好喜欢这样做而不必将整个输入或输出同时存入内存.
谢谢!