为了账号安全,请及时绑定邮箱和手机立即绑定

关于javaIO的问题想请教大家

关于javaIO的问题想请教大家

hy_wang 2017-10-12 22:32:01
请问关于java IO的问题 我有一些疑问想不通int bytes=0; while((bytes=in.read(buf,0,buf.length))!=-1){ for(int i=0;i<bytes;i++) System.out.print(Integer.toHexString(buf[i]&0xff+" "))}请问关于这段简述代码。当执行bytes=in.read(buf,0,buf.length这一步的时候,他是不是先把in中的全部读到内存中。这样的话执行完之后如果in中的字节读完了,bytes就等于-1了。 直接不满足 while循环了。 如何会执行 for中? 还是说bytes=in.read(buf,0,buf.length是先读一个字节到内存 执行一次for。执行read()方法并不是一次性读完?
查看完整描述

3 回答

?
大大叶5529

TA贡献10条经验 获得超1个赞

是这样的,当程序运行时,就会把所有的变量都装到内存之中,通过in这个对象去读取buf在内存中的地址所指向的数据,从0读到buf的length处,当bytes每次读取一段数据时就会执行打印语句。

查看完整回答
反对 回复 2017-10-13
?
大咪

TA贡献785条经验 获得超332个赞

自己打个断点,单步调试看一下,瞬间就懂了

查看完整回答
反对 回复 2017-10-12
  • 3 回答
  • 0 关注
  • 1915 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信