问答详情
源自:4-1 字节流之文件输入流FileInputStream-1

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

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

提问者:月先生 2018-08-19 12:44

个回答

  • 成功入行的秃头少女丶
    2018-08-26 00:06:57
    已采纳

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

  • 小小小小小柯丶
    2018-08-20 15:41:20

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