java中BufferedReader 有什么用?

BufferedReader 是不是只是对FileReader增加了什么缓冲什么的功能,和FileReader的用法没什么区别,也和FileReader方法一样?还有一个问题,关于.close()这个方法有什么用呢?如果不关闭会如何?下面这段程序:

FileReader fk=new FileReader("f:/23.txt");
BufferedReader bk=new BufferedReader(fk);
char o[]=new char[20];

bk.read(o);
fk.close();
——————
我用完了文件,想关闭,是用fk.close();还是bk.close(); 是不是两个一起写,或者任意写一个就可以了?

这个类就是一个包装类,它可以包装字符流,将字符流放入缓存里,先把字符读到缓存里,到缓存满了或者你flush的时候,再读入内存,就是为了提供读的效率而设计的。

BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(System.in));
创建了一个BufferedReader对象, 名字是bufferedReader , 然后new, 传入了一个InputStream对象.因为使用了BufferedReader的构造方法,
BufferedReader是缓冲流, INputStream是字节流。
至于区别:
FileReader : 字符流
BufferedReader : 也是字符流,但是在BufferedReader可以先把数据放到一个缓存区里,然后在进行处理,而且在BufferedReader 里有一个readLine()方法。
fk.close()和bk.close() 都写,都关闭吧
打开一个流,当然对应关闭一个流,不关闭会造成存储浪费,如果文件大的话。
祝你好运!~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-04
BufferedReader读取字符流,也就是将字符流放入缓存里,先把字符读到缓存里,到缓存满了或者你flush的时候,再读入内存,就是为了提供读的效率而设计的。

以上代码的意思是:
FileReader fk=new FileReader("f:/23.txt"); //从F盘读取一个文件fk接收
BufferedReader bk=new BufferedReader(fk); //生成一个容器bk把文件fk内容装进去,这样bk的内容就是原文件23.txt的内容了
关闭的话,最好都关一下,不然占资源。文件操作习惯是用完后就都关闭掉。本回答被网友采纳
相似回答