title: Should I use DataInputStream or BufferedInputStream
body: <p>I want to read each line from a text file and store them in an ArrayList (each line being one entry in the ArrayList).</p>
  
  <p>So far I understand that a BufferedInputStream writes to the buffer and only does another read once the buffer is empty which minimises or at least reduces the amount of operating system operations.</p>
  
  <p>Am I correct - do I make sense?</p>
  
  <p>If the above is the case in what situations would anyone want to use DataInputStream. And finally which of the two should I be using and why - or does it not matter.</p>