If you want to fiddle with the bytes yourself, get a FileChannel from the FileInputStream, and then allocate a ByteBuffer and then read all the content into it. ByteBuffer also has methods to deal with larger chunks of bytes, in the two different byte orders.