黑马程序员技术交流社区
标题:
缓冲区
[打印本页]
作者:
滴水石穿
时间:
2014-12-18 21:55
标题:
缓冲区
/*
* 写一个带有缓冲区的流
* 缓冲区的出现时为了提高流的操作效率而出现的。
* 所以在创建缓冲区之前要先创建流对象
*/
public class BufferedWriterDemo {
public static void main(String[] args) throws IOException {
// 创建一个字符输入流对象
FileWriter fw = new FileWriter("c:\\Demo.txt");
// 为了提高流效率假如了缓冲技术。
// 只要将需要提高效率的流对象作为参数传给缓冲区的构造函数即可。
BufferedWriter bw = new BufferedWriter(fw);
bw.write("zhangsan");
// 记住只要用到缓冲区就要刷新
bw.flush();
// 关闭资源
fw.close();
}
}
如果是读文件要不要加上缓冲区读 ?
FileReader fr = new FileReader("c:\\Demo.java");
作者:
牧歌
时间:
2014-12-18 22:05
不太懂。。。。
作者:
奋斗的蜗牛ksd
时间:
2014-12-19 13:14
写 ,你已经写入到硬盘上去了,想用什么方法读取 都可以。
作者:
奋斗的蜗牛ksd
时间:
2014-12-19 13:18
唯一 需要 读取 和写入 流 一致的 可能是 对象的序列化 使用到的流
ObjectOutputStream序列化操作写入到硬盘的对象,
只能通过 ObjectInputStream 流读取,
作者:
duluhua
时间:
2014-12-19 13:44
我认为是有必要的,我打个比喻来说下我对缓冲区的理解。
从A地向B地搬砖:
1.一般情况是:我们从A地搬起一块砖,然后送到B地,如此反复。
2.缓冲区的情况是: 我们从A地搬起一块砖放到车上,撞到一定数量,然后把车拉到B地
在这里这个车应该就是缓冲区,把数据积攒到一起,然后一次性运到目的地
再回到你的问题,读写文件应该类似于搬砖的过程吧,从一个地方到另一个地方。所以我认为加上缓冲区是有用的,可以大大提高效率。在数据少的情况下可能不明显,但是一旦大量数据,其好处应该就体现出来了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2