日期:2014-05-20  浏览次数:20878 次

从InputStream中read出来个"-1",代表什么?
是不是表示流已经关闭了,不能读出有效数据了?sun的java   api文档中只说 "如果到达流的末尾,则返回   -1 ",搞不清楚虾米意思.
另外,如果InputStream是从Socket得到的,那么read到 "-1 "代表什么后果呢?是不是代表Socket已经关闭或者不可用了?

------解决方案--------------------
如果到达流的末尾,则返回 -1 "
===============================
这不就是答案吗?
------解决方案--------------------
输入流缓存中的数据已经读完。如果再读就回得到-1。但并不代表Socket已经关闭,只是说,另一端发的数据你已经全部读完了而已。
------解决方案--------------------
意思就是数据已经读完了,既然读完了就应该给你一个读完的标志吧,所以返回了-1
------解决方案--------------------
结束标志
------解决方案--------------------
说明你读的文件已经结束了 退出循环的标志