RandomAccessFile vs Scanner vs FileInputStream in Java
<p>I know a little about it, was just curious to know more.</p>

<p><code>FileInputStream</code> reads in raw bytes from a file, as opposed to the <code>CharacterStream</code>s <code>FileReader</code> which reads in streams of character.</p>

<p><code>RandomAccessFile</code> supports both reading and writing, also provides a file pointer using which one can jump into any point in the file.</p>

<p><code>Scanner</code> can be used to read in any input, even a file. It parses the input into tokens.</p>

<p>So which to use when?
Is <code>Scanner</code> limited to only text files and the other two can be used to read any file?</p>
