"The read( ) method normally waits as long as it needs to in order to get a byte of data. Most input streams do not time out."
via Check out this quote from Java I/O, 2nd Edition - https://www.safaribooksonline.com/library/view/java-io-2nd/0596527500/ch03.html