文件中那么多行“你好,慕课网”,这个数组长度才定义10,数组长度是不够的吧,为什么还能正常存储并输出呢?

文件中那么多行“你好,慕课网”,这个数组长度才定义10,数组长度是不够的吧,为什么还能正常存储并输出呢?

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

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

1回答
好帮手慕小小 2022-04-14 11:28:18

同学你好,read(char[] cbuf)方法作用是将字符读入数组,如果达到流的结尾则返回-1。

https://img1.sycdn.imooc.com//climg/6257936009a683b305580290.jpg

代码中应用循环将流中数据反复读取到字符数组中,并输出。

字符数组的长度表示的是从流中一次读取的字符数,循环读取一次输出一次,故是可以正常输出的哦。

https://img1.sycdn.imooc.com//climg/6257917d0944b44506760398.jpg

祝学习愉快~

  • 提问者 王小east #1

    循环读取一次输出一次,输出完后就在数组中清除是不

    2022-04-14 21:39:33
  • 好帮手慕小脸 回复 提问者 王小east #2

    同学你好,不是清除,是覆盖,这里可参考如下举例:

    假如数组的长度是10,第一次读取的时候读满了,假如读的是星号,那么数组的内容就是“**********”。

    第二次读取的时候,假如读到的是井号,但是只有4个,文件就结束了。此时每次读取到的内容,都会从0下标开始,依次覆盖原来的数组,直到读取结束或者数组被读满,那么读取四个井号的数组的内容就是“####******”

    祝学习愉快~

    2022-04-15 11:02:11
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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