He's using it to read the entire files contents into memory, and re-running the lines() method from the now in-memory buffer, presumably to remove any disk I/O from bottle necking the lines() function.
Not the best method to use, probably better to use the Files.readString method.
You're right, the hidden scanFile()...makes no sense.
It's stripping all the new lines from the input.
Why? What is going on?