输出流的write()方法,从数组b中取数据的时候,没有清空数组b吧?

输出流的write()方法,从数组b中取数据的时候,没有清空数组b吧?

http://img1.sycdn.imooc.com//climg/5e68c47209012ad603110117.jpg

http://img1.sycdn.imooc.com//climg/5e68c4c1098d7efa01720027.jpg

http://img1.sycdn.imooc.com//climg/5e68c496090631fc07260051.jpg

http://img1.sycdn.imooc.com//climg/5e68c4d209b80f5c01840029.jpg

http://img1.sycdn.imooc.com//climg/5e68c4a6093132f508260047.jpg

如果把输入流中的1026个字节装入到1024个字节大小的数组b中,再从数组b中把这1026个字节取出来。

第一次,装入1024个字节到数组b中,再取出1024个字节;

第二次,再把剩下的2个字节装入到数组b中,覆盖了数组b中开头的2个字节。这时数组b中前两个字节是新装入的,后1022个字节是原来装入的。

利用变量len就能精确的取出需要的字节,保证最后一次取字节时没有取错。

所以是覆盖,write()方法并没有清空数组吧?

正在回答

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

2回答

同学你好,read每次读取完成后会清空数组。如下代码所示:将数据从够数组中读出来,写到文件中,就相当于清空数组了。

http://img1.sycdn.imooc.com//climg/5e699f9f09b00cd107590245.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 电磁护盾 提问者 #1
    read(b) 就把数组b清空了啊,那被清空的数组b的大小不变,数组里的每个元素为null是吗?
    2020-03-12 15:03:30
  • 好帮手慕小尤 回复 提问者 电磁护盾 #2
    同学你好,byte类型的默认值是0,所以数组里的每个元素为0。如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2020-03-12 15:31:27
提问者 电磁护盾 2020-03-11 19:19:17

前面说的是   输出流再从数组b中把这1026个字节取出来。

少写了 输出流  三个字。

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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