I would mmap
the whole file, then just parse “views” of the large byte array, eg with
https://github.com/JuliaData/WeakRefStrings.jl
I do this for fixed with data — it is so embarrassingly simple that so far I have not been motivated to package it up.