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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 钱智慧 中级黑马   /  2012-3-4 17:48  /  1805 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

FileWriter已经有缓冲区了,比如fw.write("abcdef")的时候,它应该是先写到缓冲区里吧,可是为什么又有一个BufferedWriter装饰类呢,它对FileWriter应该提高不了效率吧?

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

6 个回复

倒序浏览
你可以使用也可不实用,bufferWriter 又不是只能装饰FileWrite, 有其他的流是没有缓冲区的,这是框架开发必须提供的灵活性,给用户多种选择,你不能说有一个德方不需要,就否定它没用。
我非常喜欢 博客园一牛人的话:每个对象都是一个不朽的传奇,每个传奇背后都有一个精彩的故事

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 这句话不错。

查看全部评分

回复 使用道具 举报
FileWriter是字符流,而BufferedWriter是字节流BuffereWriter可以实现字符流和字节流的转换
还可以可以还以提供给其他没有缓冲区流的使用。

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
陈斌 发表于 2012-3-4 22:05
FileWriter是字符流,而BufferedWriter是字节流BuffereWriter可以实现字符流和字节流的转换
还可以可以还以 ...

BufferedWriter也是字符流吧,BufferedWriter提供了一个换行的newLine()方法,像'/r/n'也能用来换行,但是只能在windows下才能换行成功,换成Linux系统的话只要'/r'就表示换行了,而BufferedWriter提供的换行方法newLine()是跨平台的。

评分

参与人数 1技术分 +2 收起 理由
老罗 + 2

查看全部评分

回复 使用道具 举报
陈斌 发表于 2012-3-4 22:05
FileWriter是字符流,而BufferedWriter是字节流BuffereWriter可以实现字符流和字节流的转换
还可以可以还以 ...

同属于Writer,BufferedWriter怎么可能是字符流,如果不用转换流,您能用BufferedWriter直接操作字节流么?如果可以,您可否代码示例一下?
回复 使用道具 举报
段玉超 发表于 2012-3-4 17:54
你可以使用也可不实用,bufferWriter 又不是只能装饰FileWrite, 有其他的流是没有缓冲区的,这是框架开发必 ...

您说得很有道理,受教了。
回复 使用道具 举报
此帖问题已经得到解决,我如何设置为已解决?找了半天不知道在哪
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马