The reason I did this was to fully mimic the [code from the Scala interpreter](https://github.com/scala/scala/blob/master/src/repl/scala/tools/nsc/interpreter/session/FileBackedHistory.scala#L77). I think this will make it easier to compare in case the Scala version is updated some time in the future, but you're right we could use a lighter weight construct, we just risk having different behavior than the standard Scala shell history.

Not a big deal to me, but I'm inclined to stick with cloning the Scala shell behavior. Let me know if you still prefer the `java.io.File` route, I'd be happy to change to that.