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

批量读取文件时定义了一个int bytes的作用是什么

批量读取java文件时
int bytes=in.read(buf,0,buf.length)
然后用了一个for循环输出
for(int i=0;i<bytes;i++)
为什么要用bytes来控制循环次数,bytes的作用是什么


正在回答

1 回答

bytes用来记录读入了多少个字节(in.read()的返回类型就是int,值为读的字节个数)

in.read(buf,0,buf.length)用来读入,一次最多可以读buf.length个字节,但是并不是每次都读入了这么多个字节,(可能读的文件没这么长),所以是用bytes来控制循环结束的条件

3 回复 有任何疑惑可以回复我~
#1

大鼻子浩浩 提问者

意思是bytes只是记录了读了多少个字节,而不是记录都到的内容,读到的内容放在了buf字节组中,是吗
2016-10-10 回复 有任何疑惑可以回复我~
#2

慕函数7182242 回复 大鼻子浩浩 提问者

嗯,是的,你可以看看API里的详细解释
2016-10-10 回复 有任何疑惑可以回复我~
#3

大鼻子浩浩 提问者

非常感谢!豁然开朗
2016-10-11 回复 有任何疑惑可以回复我~
#4

大鼻子浩浩 提问者 回复 慕函数7182242

还需要问问您,前面一个字节一个字节读的时候,用到了b=in.read()!=1,之后用十六进制额方式输出Integer.toHexString(b),这里面b还是字节数吗?还是用作储存读到的字节的变量?
2016-10-11 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

批量读取文件时定义了一个int bytes的作用是什么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信