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

解决方案 »

  1.   

    如果在这里不能得到满意回答,请尝试到IT付费问答社区www.nlld.net提问
      

  2.   

    意思是说用READ方法读的时候只要没有数据了返回一1
      

  3.   

    输入流缓存中的数据已经读完。如果再读就回得到-1。但并不代表Socket已经关闭,只是说,另一端发的数据你已经全部读完了而已。
      

  4.   

    我总结下看对不:
    1、read出来-1表示流里没有数据了,也就是说,发送端这次就发了这么多数据,已经全部读完,但是不排除以后继续发别的;
    2、如果inputstream来自于一个socket,read出来-1不表示socket已经断开;
    3、read出来-1只代表流中的数据状况,和流本身的状况(比如处于有效还是无效状态)无关;
    就这么多,谢谢大家,现在去结贴,当然,这贴不给分,嘿嘿
      

  5.   

    我用http协议用这个流读取数据,返回了-1,但是数据实际还没用读完是怎么回事,因为在读之前,我获取了服务器端的数据大小,但是发现实际还没读完就返回-1了