A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 滴水石穿 中级黑马   /  2014-12-18 21:55  /  1037 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
* 写一个带有缓冲区的流
* 缓冲区的出现时为了提高流的操作效率而出现的。
* 所以在创建缓冲区之前要先创建流对象               
*/

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");

4 个回复

倒序浏览
不太懂。。。。
回复 使用道具 举报
写 ,你已经写入到硬盘上去了,想用什么方法读取 都可以。
回复 使用道具 举报
唯一 需要 读取 和写入 流 一致的 可能是 对象的序列化 使用到的流

ObjectOutputStream序列化操作写入到硬盘的对象,

只能通过 ObjectInputStream 流读取,
回复 使用道具 举报
我认为是有必要的,我打个比喻来说下我对缓冲区的理解。
从A地向B地搬砖:
1.一般情况是:我们从A地搬起一块砖,然后送到B地,如此反复。
2.缓冲区的情况是: 我们从A地搬起一块砖放到车上,撞到一定数量,然后把车拉到B地
在这里这个车应该就是缓冲区,把数据积攒到一起,然后一次性运到目的地

再回到你的问题,读写文件应该类似于搬砖的过程吧,从一个地方到另一个地方。所以我认为加上缓冲区是有用的,可以大大提高效率。在数据少的情况下可能不明显,但是一旦大量数据,其好处应该就体现出来了。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马