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

为什么很多人这样判断流的末尾
都是根据inputstream.read()>0来判断的,实际上api上写-1才是流的末尾,而事实上也可能读到0的字节,此时并非是流的末尾。

------解决方案--------------------
引用:
都是根据inputstream.read()>0来判断的,实际上api上写-1才是流的末尾,而事实上也可能读到0的字节,此时并非是流的末尾。

新垣结衣兄 在哪看到“inputstream.read()>0”这么判断的
一直都是“-1 != inputStream.read()”的
------解决方案--------------------
网上的demo你也信,不管你信不信,反正我没信! 
我一直都用的是while((len=read.read())!=-1){...}
------解决方案--------------------
我有用inputstream.read()>=0判断
------解决方案--------------------
引用:
如果一个文件流里有个字节是00000000,它不会没有读完就中途返回了?

目测是这样的……
好在“The value byte is returned as an int in the range 0 to 255.”, 读到1111 1111并不会返回。
------解决方案--------------------
是不是楼主搞错了,还是特例

去年我做网络这块时,都是用
while((len=read.read())!=-1){..} 
做判断滴.....
------解决方案--------------------
不知道别人一般是怎么用的,我一般写的是大于-1