问答详情
源自:4-3 字节流之文件输出流FileOutputStream

buf数组是否会初始化

while((bytes=in.read(buf,0,buf.length))!=-1) {

out.write(buf,0,bytes);

out.flush();  //

}

第一次循环,假如buf中装满了,

第二次循环的时候buf是会初始化,然后再向数组中写,还是第二次不会初始化,会把第一次写的内容覆盖掉,然后写的时候只写这次读到的长度。


提问者:qq_八月的雨_0 2019-08-16 19:24

个回答

  • Java攀登者
    2019-08-21 23:59:00
    已采纳

    我去试了一下,发现并不会buf数组并不会初始化,第二次读取的数据会直接覆盖数组原来的内容。

    假设第二次循环b=1002,那么buf[0]~buf[1001]的值会与第一次循环时的值不一致,而buf[1002]之后的数据与第一次循环一致。没覆盖的值不为0就证明了没有初始化,这就说明第二次读取时的内容直接覆盖原来的内容。

  • Java攀登者
    2019-08-21 23:11:10

    debug一下试试就知道了