月先生
2018-08-19 12:44
为什么说是读取数据填充到字节数组buf?我之前一直以为是每次从输入流中读取buf数组长读的字节
读取数组长度大小的内容并把这些内容赋值给数组。
可以想象成搬砖的那个夹子,以夹子的长度从砖厂搬几块砖,你夹上去的时候这个夹子就夹满了,夹子的内容就是砖。夹子是数组,砖是内容。可能有点不太符合情况,我比喻不好hhhh…
因为一次读一个字节嘛,存入字节数组就是运行了很多次读一个字节的过程,依次填充到数组中去。你说的也没错啊,在数据足够大时,确实一开始是读buf长度的byte数据。最终可能刚好填满就没了,可能填到一半就没了,这个时候read()返回-1,最后再把buf的数据操作一遍(操作可能是copy到另一个文件里面去),跳出循环。个人拙见。
文件传输基础——Java IO流
133754 学习 · 1030 问题
相似问题