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

如何理解read(byte[] buf)?

为什么说是读取数据填充到字节数组buf?我之前一直以为是每次从输入流中读取buf数组长读的字节

正在回答

2 回答

读取数组长度大小的内容并把这些内容赋值给数组。
可以想象成搬砖的那个夹子,以夹子的长度从砖厂搬几块砖,你夹上去的时候这个夹子就夹满了,夹子的内容就是砖。夹子是数组,砖是内容。可能有点不太符合情况,我比喻不好hhhh…

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

月先生 提问者

返回值是个int什么意思
2018-08-26 回复 有任何疑惑可以回复我~
#2

成功入行的秃头少女丶 回复 月先生 提问者

in.read([]byte)这个方法返回一个读取的内容的长度。比如数组长度为100,在文件里也读够了100个byte,这个方法就返回100这个值。
2018-08-26 回复 有任何疑惑可以回复我~

因为一次读一个字节嘛,存入字节数组就是运行了很多次读一个字节的过程,依次填充到数组中去。你说的也没错啊,在数据足够大时,确实一开始是读buf长度的byte数据。最终可能刚好填满就没了,可能填到一半就没了,这个时候read()返回-1,最后再把buf的数据操作一遍(操作可能是copy到另一个文件里面去),跳出循环。个人拙见。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如何理解read(byte[] buf)?

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