How can I start reading a file near the end, and not have to read all the bytes at the start too?

John Zukowski

The RandomAccessFile class allows you to seek() to a certain position in a file and read from any spot in the file. Unfortunately, the class isn't part of the IO streams hierarchies, so you can't do things like buffering.