title: Why does the read() in FileInputStream return an integer?
body: <p><a href="http://docs.oracle.com/javase/tutorial/essential/io/bytestreams.html" rel="noreferrer">This</a> page shows says that it is so that the method can return -1 when it wants to indicate that there are no more bytes to be read.</p>
  
  <p>But a byte ranges from -128 to 127, right? And wouldn't it make more sense for the return type of read() to be byte since it returns a byte?</p>
  
  <p>Thank you for your time.</p>