4-3问题字符输入流
问题1:
while((n=isr.read(cbuf))!=-1)
这样定义的就是把isr文件的信息读取到cbuf这个数组中,然后用n来接收,如果返回值不为-1,就是说明了还没读取到文件信息的末尾,故继续执行循环;理解的对吗?
问题2:
你好,慕课网
你好,慕课网
你好,慕课网
你好,慕课网
你好,慕课网
你好,慕课网
你好,慕课网
你好,慕课网
你好,慕课网
你好,慕课网
课网
你好,慕课网
这种读取的情况, 是因为字符数组每次读取的最长为10吗? 因为读取到10了,已经读满了,所以后面的信息出现了错误,也就是说明了,定义的字符数组 char[] cbuf=new char[10];不能满足读取文件的内容,因此需要进行循环读取,从而输出实际的读取信息, 也就是String s=new String(cbuf,0,n);这个n是用来接收读取数据的实际信息的;我理解的对吗?
问题3:
老师在视频中讲,字符数组是10;在读取的时候最后一次的时候,不能保证字符数组是满的,要读取的信息是长度是12吗?每行为1字符长度?字符长度是10,已经存放满了啊,这里没听懂、。
正在回答 回答被采纳积分+1
同学你好,1、问题一,同学的理解有一点偏差,这里的read方法,是将字符读入数组中,而返回值是读取到的字符数量
如果返回值不为-1,就是说明了还没读取到文件信息的末尾,故继续执行循环;这句话同学理解是正确的。
2、问题二
1)、是的,字符数组每次读取的最长为10。
2)、根据上面的解释,同学的理解有误,对于同学的描述"String s=new String(cbuf,0,n);这个n是用来接收读取数据的实际信息的",这里n是具体读取到的字符数量
3、问题三
字符数组是10;在读取的时候最后一次的时候,不能保证字符数组是满的,同学可以这样理解,在读取一个12个字符的内容时,会分两遍来读取,第一遍先读取10个字符,第二遍读取剩下的两个字符,此时就会出现没有读满数组的情况,所以会说不能保证读取的字符数组是满的。
祝学习愉快!
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星