buf數組是否會初始化
while((bytes=in.read(buf,0,buf.length))!=-1) {
out.write(buf,0,bytes);
out.flush();? //
}
第一次循環,假如buf中裝滿了,
第二次循環的時候buf是會初始化,然后再向數組中寫,還是第二次不會初始化,會把第一次寫的內容覆蓋掉,然后寫的時候只寫這次讀到的長度。
while((bytes=in.read(buf,0,buf.length))!=-1) {
out.write(buf,0,bytes);
out.flush();? //
}
第一次循環,假如buf中裝滿了,
第二次循環的時候buf是會初始化,然后再向數組中寫,還是第二次不會初始化,會把第一次寫的內容覆蓋掉,然后寫的時候只寫這次讀到的長度。
2019-08-16
舉報
2019-08-21
我去試了一下,發現并不會buf數組并不會初始化,第二次讀取的數據會直接覆蓋數組原來的內容。
假設第二次循環b=1002,那么buf[0]~buf[1001]的值會與第一次循環時的值不一致,而buf[1002]之后的數據與第一次循環一致。沒覆蓋的值不為0就證明了沒有初始化,這就說明第二次讀取時的內容直接覆蓋原來的內容。
2019-08-21
debug一下試試就知道了