java中BufferedReader 有什么用?

BufferedReader是不是只是对FileReader增加了什么缓冲什么的功能,和FileReader的用法没什么区别,也和FileReader方法一样?还有一个问... 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(); 是不是两个一起写,或者任意写一个就可以了?
展开
 我来答
欢乐达人hh
推荐于2017-09-30 · TA获得超过642个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:145万
展开全部
这个类就是一个包装类,它可以包装字符流,将字符流放入缓存里,先把字符读到缓存里,到缓存满了或者你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() 都写,都关闭吧
打开一个流,当然对应关闭一个流,不关闭会造成存储浪费,如果文件大的话。
祝你好运!~
fanqiezz11
2015-02-04 · TA获得超过777个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:256万
展开全部
BufferedReader读取字符流,也就是将字符流放入缓存里,先把字符读到缓存里,到缓存满了或者你flush的时候,再读入内存,就是为了提供读的效率而设计的。

以上代码的意思是:
FileReader fk=new FileReader("f:/23.txt"); //从F盘读取一个文件fk接收
BufferedReader bk=new BufferedReader(fk); //生成一个容器bk把文件fk内容装进去,这样bk的内容就是原文件23.txt的内容了
关闭的话,最好都关一下,不然占资源。文件操作习惯是用完后就都关闭掉。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式