是BufferdStream造就的缓冲吗?

justajavaboy 2004-10-18 08:23:20
书上常说,单字节的读取,效率低下,应使用缓冲来提高效率,于是就使用了BufferdInputStream和BufferdOutputStream.
缓冲的意思是说,先将输出的或读入的数据存在内存中,然后一次性的打开流,将数据全部放入流中。
于是我打开了jasva.io包,并且看了一下BufferdInputStream中的内容,发现其并没有什麽新东西,对输入也只是调用了read(byte[])的方法。而read(byte[])方法可是用一个循环,每次读入一个字节,即每次调用input.read()的抽象方法。而read(byte[])的方法其它的流也调用呀!?BufferdStream的缓冲体现在什麽地方?
另外,有关缓冲区满即刷新,和用回车符来刷新缓冲区的内容在BufferdInputStream也根本未见到。我想问,先将从键盘输入的字符存进缓冲区,然后利用缓冲区满或回车符来刷新缓冲区是不是windows操作系统自定义的呀?还是windows操作系统根本没定义缓冲区,所有从键盘输入的字节都将直接进入流,而是java语言自己定义缓冲区,和相关的刷新?
...全文
100 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧