buf数组是否会初始化

来源:4-3 字节流之文件输出流FileOutputStream

qq_八月的雨_0

2019-08-16 19:24

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

out.write(buf,0,bytes);

out.flush();  //

}

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

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


写回答 关注

2回答

  • 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一下试试就知道了

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题