Great points!! I think reading one byte at a time is probably the safest. I am a quality assurance engineer and this code won't be ran on production (so I am not reading through a socket where high performance is needed). I will be testing binary files (one at a time) created by my application and have around 60-70 test scenarios that can be automated with this parser that ensures the binary file is constructed correctly.
tell and seek looks interesting. I will go through the docs and some examples. Thanks again for all your help. You've been great!!