First off, you'll need a lot of memory for this. Several GBs of RAM, not including GC room.
If you're reading a "single line" of 600M digits, in the end, after the line is actually read (you're likely not even getting this far), the string of 600M digits will require 1.2GB of memory, simply for the characters.
Java stores Strings as arrays of Characters, and Characters are stored internally as UTF-16, which is 2 bytes.
That alone sends the memory requirements through the roof.
When you do your split, you're turning each digit in to an individual string. You now have 600M Strings, and all of the over head that entails. At a minimum, you're looking at least 16 bytes per string, since it stores the pointer to the underlying array, an offset in to the array, and the length of the string. Thankfully, split will actually reuse the underlying array, but that's really not much help here.
16 bytes * 600M is 9.6GB.
Definitely heading in to the "ludicrous" realm of memory requirements now.
You don't say what you actually want to do. You want to "load the file", but you don't say in to what. So, it's hard to provide a recommendation as to how it should be done. If you want to just print the file out, then you can simply read each character one by one and print it, but that's clearly not the goal.
So, while, yes, you can "throw memory" at this problem, you don't want to. You need to study the problem and come up with a better representation of what you're trying to achieve and work from there.