黑马程序员技术交流社区

标题: 关于IO的问题 [打印本页]

作者: 1002865186    时间: 2012-3-25 20:41
标题: 关于IO的问题
求教Java中IO缓冲区的原理是什么?是不是可以通过byte[] 数组来声明缓冲区的大小?
作者: 李涛涛    时间: 2012-3-25 21:47
IO缓冲区的原理:就是先将数据写入内存,然后再写入目标源(比如光驱),有点像数据库的指操作。如果你使用了缓冲提高效率,就不需要特意在用byte[]数组来声明。
作者: 杨波    时间: 2012-3-25 21:54
缓冲区就是内存里的一块区域,把数据先存内存里,然后一次性写入,类似数据库的批量操作,这样效率比较高。
可以通过byte[] 数组来声明缓冲区的大小,在字节流读写中我们经常可以看到
byte[] buf = new byte[1024];
就是声明缓冲区大小为1k.
作者: 肖发腾    时间: 2012-3-25 22:07
缓冲区的出现提高了对数据的读写效率。
对应类
BufferedWriter
BufferedReader
缓冲区要结合流才可以使用。
在流的基础上对流的功能进行了增强。
看毕老师的视频,它与流的一个区别是如果让缓冲区一次存大于本机内存的数据,会发生内存溢出,通过流来处理的话,用byte[]数组,则不会发生。
我认为这是流于流的缓冲区的一大区别。也是使用时,开发时,应注意的地方。
作者: 孙天    时间: 2012-3-25 22:49
把东西都放到缓冲区,满了一次性拿出
要处理的数据进行临时存储,提高效率的原理:减少频繁的操作





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