title: Why would you wrap FileOutputStream with a DataOutputStream?
body: <p>A DataOutputStream can wrap a FileOutputStream, but I don't understand why it has been used here.</p>
  
  <pre><code>FileOutputStream fos = new FileOutputStream(args[0]);
  DataOutputStream dos = new DataOutputStream(fos);
  dos.writeByte('j');
  </code></pre>
  
  <p>The last line does the same as <code>fos.write('j');</code> What does DataOutputStream add in this situation? i.e. why is there?</p>