私の知る限り、scalaのファイル/URLのイテレータは怠惰です。
scala.io.Source.fromFile("c:/tmp.csv") getLines()
Iterator[String]
まだファイルを読み込んでおらず、単にそのファイルの最初の行を指しているを返す必要があります。それでも、このコードをデバッグし、次の行で停止し、HDD上のファイルを物理的に変更すると、このイテレーターによって返される値は、更新前のファイルに対応します。なぜそうなのですか?
これは、ファイル全体をメモリにプリフェッチするJavaイテレータから期待するものです。