黑马程序员技术交流社区

标题: 关于处理流和字符流的问题 [打印本页]

作者: 张宏祚    时间: 2013-10-11 14:11
标题: 关于处理流和字符流的问题
相比较于字节流,字符流会把数据暂时放在内存的缓冲区中,通过flush来进行输送,那么加上了buffered的流,也是有了一个缓冲区,这两个缓冲区之间有什么不同么?

作者: dolphin    时间: 2013-10-11 14:33
buffered流的存在是为了提高效率,不论是字符还是字节,我觉得对于字符流来说,他们是对缓冲区的容纳量不同,对于小数据,字符流不需用那么大的缓冲区,对于大数据,则就有必要使用buffered流来操作。
(求技术分)
作者: 张宏祚    时间: 2013-10-11 16:41
dolphin 发表于 2013-10-11 14:33
buffered流的存在是为了提高效率,不论是字符还是字节,我觉得对于字符流来说,他们是对缓冲区的容纳量不同 ...

哥们,是不是这个意思,这两个流的缓冲区,都是在内存里,那大小的区别是什么啊,还有bufferedWriter的话,会不会两个缓冲区作用冲突了?
作者: bird_not_fat    时间: 2013-10-11 17:46
亲,我觉着其实是这么回事,
(1)字符流的缓冲区存在的原因是由于字符流中融合了编码集,而字符流的读写方法实质上都是在调用字节流的读写方法。我们有必要将读取出来的这些字节存入到一个缓冲区中,然后查询编码表,返回相应的字符。
(2)Buffered包装流缓冲区存在的原因是我们想要更加简便的操作我们读取的数据,BufferedReader的增强方法是readLine(),可以一次性读取一行,原理是将查表之后获取的字符写入到一个数组中去,然后当遇到换行的时候一次性打印输出一行。
(3)因此两个缓冲区的作用是不同的,他们的功能并不冲突。

作者: 张宏祚    时间: 2013-10-11 20:57
bird_not_fat 发表于 2013-10-11 17:46
亲,我觉着其实是这么回事,
(1)字符流的缓冲区存在的原因是由于字符流中融合了编码集,而字符流的读写方 ...

哦,看了你的回答,感觉很有道理!
作者: To    时间: 2013-10-12 11:19
楼主你好,如果问题已解决请将帖子状态改为提问结束,如果未解决请继续提问,谢谢合作。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2