关于字符输入流中的两个read函数
老师好,想问一下,输入流是有两个read函数,一个是一个char一个char的输入,一个是一次输入char[]长度的字符。
那么这两种方法我们平时应该使用哪一种呢?或者说哪一种的效率会更好呢?
谢谢。
正在回答
同学你好,1. read()方法 是从此输入流中读取一个数据字节。 返回值是下一个数据字节,如果已到达文件末尾,则返回 -1;
read(char[] cbuf) 方法是从输入流中将最多cbuf.length个字节的数据读入一个char数组cbuf中。方法返回读入数组cbuf的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
2. 平常建议使用read(cahr[] cbuf) 方法,并read(char[] cbuf) 方法的效率比read()方法高。如下:
如果是读一个写一个,那read()方法就是从硬盘读n次,然后写n次。但如果是读一批写一批,那read(char[] cbuf) 方法就是从硬盘读n次,然后放在内存中的这个字节数组cbuf中,然后写一次。
假如有5个字节,加入char[] cbuf = new char[5];
第一种方法read(),write(),需要读硬盘5次,写硬盘5次。而第二种方法read(char),write(new string(b,0,5)),就需要读硬盘5次,写硬盘1次,从而减少写的次数提交效率。
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星