InputStream is just an abstract class ,不幸的是,实现决定了会发生什么。
如果没有找到任何内容会发生什么情况:
点2
点3
p4
p5
寻求通用解决方案:
如果你将上述任何流包装在 DataInputStream ,那么你就可以使用诸如 readByte , readChar 等方法。 All -1 values are converted to EOFException . (PS: If you perform a lot of small reads, then it's a good idea to wrap it in a BufferedInputStream first)
和 SocketTimeoutException 都存在 EOFException extend IOException ,还有其他几种可能 IOException 。 It is convenient to just check for IOException 's to detect communication issues.