社区
Java SE
帖子详情
字节流与缓冲流,怎样实现高效率的?
十彡
2014-10-11 02:07:34
看了InputStream和BufferedInputStream,实现缓冲其实就是定义的下面的这个字节数组
protected volatile byte buf[]; 问题是把数据读到这个字节数组里面不依然一个字节一个字节调用的InputStream.read()吗?!那节约效率是怎么来的呢?
...全文
539
9
打赏
收藏
字节流与缓冲流,怎样实现高效率的?
看了InputStream和BufferedInputStream,实现缓冲其实就是定义的下面的这个字节数组 protected volatile byte buf[]; 问题是把数据读到这个字节数组里面不依然一个字节一个字节调用的InputStream.read()吗?!那节约效率是怎么来的呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
十彡
2014-10-23
打赏
举报
回复
看源码 跟错了 buffered不是调用的inputstream的read 而是这个 private native int readBytes(byte b[], int off, int len) throws IOException;
Edward_Van
2014-10-16
打赏
举报
回复
1
这两天也正学缓冲流呢、我的理解是这样的、 Java源于生活、比如你去邮寄东西、邮局肯定是等往一个地方的邮件达到一定数量后才会出车、不可能一封就出一次车、 既然这样、JVM也是一样的、它会等数据达到一定数量时一次性读或者写、而不会因为一个字节或者字符而进行读写、那样太浪费资源了、而且硬盘容易坏、
humanity
2014-10-14
打赏
举报
回复
引用 6 楼 sc6231565 的回复:
读一点 写一点 就相当于 硬盘磁头动一下 停一下 效率太低了
好形象啊,反正就是确保你在准备请求磁盘开始读取文件时,有足够的位置存放磁头一次访问读取到的数据,不要出现放不下丢弃的数据,因为磁头一次读取一个扇区的数据,至少 512字节,如果你装不下就丢弃了,下次重新再来一次,同样写出数据也是一样的过程,一次能写出一个扇区的数据,如果你数据不够分多次,磁头就需要多等物理设置转几圏 。
Magical茏
2014-10-11
打赏
举报
回复
读一点 写一点 就相当于 硬盘磁头动一下 停一下 效率太低了
scmod
2014-10-11
打赏
举报
回复
对啊~ 一个时间全部花在路上了。。。
lxq_xsyu
2014-10-11
打赏
举报
回复
比如你现在要往一个文件里写,你如果不用缓冲流,就要频繁的打开文件流,这样非常耗时,所以使用缓冲流可以缓解。就比如,你要去学校的开水房打水,如果你去一杯一杯的打开水也可以,如果想快就提一个电壶过去打一壶(缓冲流)。
sunbo624
2014-10-11
打赏
举报
回复
上面说的有道理 就是为了减少次数 比如你想买点零食 每次去买一袋 买100次 和每次买10袋 买10次 肯定是后者效率高 不是说读的快 同样的硬件读肯定是一样的 而是交换的次数少
十彡
2014-10-11
打赏
举报
回复
问题是 输出也是循环调用的OutputStream.write()的呀
沉思的猿某人
2014-10-11
打赏
举报
回复
我的理解是这样的,不用缓冲的话,也就是没有那个数组,是读一个字符,就要输出一下,读一个字符输出一下,但是如果读到缓冲区,那就可以把缓冲区读满然后输出一次,这样效率就提高了
JavaSE-18.1.2【案例-
字节
流
复制视频(四种方式
实现
,证明字节
缓冲
流
帮助
字节
流
提
高效率
)】...
该博客通过Java代码展示了使用基本
字节
流
、字节数组读写、字节
缓冲
流
复制视频的四种方法,并记录了每种方法的执行时间,强调了字节
缓冲
流
在提
高效率
方面的优势。
fileoutputstream 字节乱码_吃透Java IO:
字节
流
、字符
流
、
缓冲
流
本文详细介绍了Java中的IO
流
,包括
字节
流
、字符
流
的区别,
缓冲
流
的原理与效率,以及序列化的概念和
实现
。通过实例展示了各种
流
的使用,并探讨了不同
流
的效率对比。强调了
缓冲
流
在提
高效率
方面的作用,以及字符
流
在处理文本文件时的便捷性。同时,解释了为何在某些情况下,
缓冲
流
的效率并不一定高于普通
流
。
吃透Java IO:
字节
流
、字符
流
、
缓冲
流
本文深入介绍了Java IO
流
的分类,包括输入
流
、输出
流
、
字节
流
、字符
流
,以及节点
流
和处理
流
。通过案例展示了
字节
流
与字符
流
的使用,强调了
缓冲
流
在提
高效率
方面的作用。同时,文章讨论了
字节
流
与字符
流
的区别,字符
流
的
实现
以及序列化的重要性。最后,分析了不同
流
的效率对比,并提及了NIO的相关内容。
高级API 快速入门之第二章
字节
流
&
缓冲
流
本文详细介绍了Java中的IO
流
,包括其分类、基本概念以及具体的
实现
类。通过实例演示了如何使用
字节
流
进行文件的读取与写入,并介绍了如何利用
缓冲
流
提
高效率
。
JavaSE-
字节
流
(读写数据,复制文件,缓存
流
)
本文详细介绍了Java中
字节
流
的使用,包括如何读写数据、复制文件以及使用
缓冲
流
提
高效率
。通过实例展示了
字节
流
的write方法的不同形式,以及如何处理异常和
实现
文件追加。同时,还演示了如何利用
字节
流
复制文本文件和图片文件。最后,提到了字节
缓冲
流
在提高读写性能方面的作用。
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章