为什么fos.write(b,0,n);就不会增加文件大小?没听懂。

为什么fos.write(b,0,n);就不会增加文件大小?没听懂。

fos.write(b,0,n); 不会增加文件大小。

fos.write(b); 就会增加文件大小。

老师笼统地一句概括,我真心没听明白。求大神详细解释,谢谢!


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕雪 2017-09-21 10:49:50

例如定义b的长度是1024,如果一个文件的长度不是1024的整数倍,只有例如只有1028,每次读1024个的循环,第一次读了1024个,第2次还是读了1024个。如果用fos.write(b); 则第2次写入的长度是1024,只不过写的是:前4位的真实内容+1000个空内容。所以长度就变长了。而如果用fos.write(b,0,n)n表示的是真实有多少内容也就是我上面说的4,它只会写入b[0]到b[3],一共4个。所以就不会增加文件长度。祝:学习愉快

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师