为什么很多人这样判断流的末尾

burningbloodgg 2013-03-12 05:02:36
都是根据inputstream.read()>0来判断的,实际上api上写-1才是流的末尾,而事实上也可能读到0的字节,此时并非是流的末尾。
...全文
357 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ddplayer12 2013-03-13
  • 打赏
  • 举报
回复
判断大于-1或者不等于-1都可以,因为api说的很清楚,流读到末尾返回-1 主要是判断是否到末尾
burningbloodgg 2013-03-13
  • 打赏
  • 举报
回复
引用 6 楼 tiantian1412 的回复:
引用 楼主 burningbloodgg 的回复:都是根据inputstream.read()>0来判断的,实际上api上写-1才是流的末尾,而事实上也可能读到0的字节,此时并非是流的末尾。 新垣结衣兄 在哪看到“inputstream.read()>0”这么判断的 一直都是“-1 != inputStream.read()”的
很多网上的流demo很少是用-1的。
微风飘过 2013-03-13
  • 打赏
  • 举报
回复
不知道别人一般是怎么用的,我一般写的是大于-1
小菜鸟的博客 2013-03-13
  • 打赏
  • 举报
回复
!=-1 都是这么写的 lz看见的。。。。
Ada168855 2013-03-13
  • 打赏
  • 举报
回复
不知道别人一般是怎么用的,我一般写的是大于-1
wsyangzuda 2013-03-13
  • 打赏
  • 举报
回复
是不是楼主搞错了,还是特例 去年我做网络这块时,都是用 while((len=read.read())!=-1){..} 做判断滴.....
miaowhehe 2013-03-13
  • 打赏
  • 举报
回复
引用 4 楼 burningbloodgg 的回复:
如果一个文件流里有个字节是00000000,它不会没有读完就中途返回了?
目测是这样的…… 好在“The value byte is returned as an int in the range 0 to 255.”, 读到1111 1111并不会返回。
李小西033 2013-03-13
  • 打赏
  • 举报
回复
我有用inputstream.read()>=0判断
赏金--猎人 2013-03-13
  • 打赏
  • 举报
回复
网上的demo你也信,不管你信不信,反正我没信! 我一直都用的是while((len=read.read())!=-1){...}
shine333 2013-03-12
  • 打赏
  • 举报
回复
LZ是对的。因为有可能是0。
架构师梦 2013-03-12
  • 打赏
  • 举报
回复
引用 楼主 burningbloodgg 的回复:
都是根据inputstream.read()>0来判断的,实际上api上写-1才是流的末尾,而事实上也可能读到0的字节,此时并非是流的末尾。
新垣结衣兄 在哪看到“inputstream.read()>0”这么判断的 一直都是“-1 != inputStream.read()”的
付草宝 2013-03-12
  • 打赏
  • 举报
回复
那应该如何判断呢?用(read = InputStream.read()) != -1 && (read != 0),这样?还是怎样?
burningbloodgg 2013-03-12
  • 打赏
  • 举报
回复
引用 2 楼 AA5279AA 的回复:
建议楼主最好发一个例子,这样我们看的这些人理解的更深刻一些。。
额,你都一颗心了。小弟不才,只是看到很多人这么写,感觉有问题啊。你不觉的如果按照这种写法,如果一个文件流里有个字节是00000000,它不会没有读完就中途返回了?
burningbloodgg 2013-03-12
  • 打赏
  • 举报
回复
引用 1 楼 knightzhuwei 的回复:
inputstream.read()>0是没到末尾吧
我觉得应该是inputstream.read()!=-1,那种情况如果碰到全0的字节会认为是流末尾,实际上不是。
失落夏天 2013-03-12
  • 打赏
  • 举报
回复
建议楼主最好发一个例子,这样我们看的这些人理解的更深刻一些。。
knightzhuwei 2013-03-12
  • 打赏
  • 举报
回复
inputstream.read()>0是没到末尾吧

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧