黑马程序员技术交流社区

标题: 关于缓冲区的疑问 [打印本页]

作者: 钱智慧    时间: 2012-3-4 17:48
标题: 关于缓冲区的疑问
FileWriter已经有缓冲区了,比如fw.write("abcdef")的时候,它应该是先写到缓冲区里吧,可是为什么又有一个BufferedWriter装饰类呢,它对FileWriter应该提高不了效率吧?
作者: 段玉超    时间: 2012-3-4 17:54
你可以使用也可不实用,bufferWriter 又不是只能装饰FileWrite, 有其他的流是没有缓冲区的,这是框架开发必须提供的灵活性,给用户多种选择,你不能说有一个德方不需要,就否定它没用。
我非常喜欢 博客园一牛人的话:每个对象都是一个不朽的传奇,每个传奇背后都有一个精彩的故事
作者: 陈斌    时间: 2012-3-4 22:05
FileWriter是字符流,而BufferedWriter是字节流BuffereWriter可以实现字符流和字节流的转换
还可以可以还以提供给其他没有缓冲区流的使用。
作者: 李晓斌    时间: 2012-3-4 22:10
陈斌 发表于 2012-3-4 22:05
FileWriter是字符流,而BufferedWriter是字节流BuffereWriter可以实现字符流和字节流的转换
还可以可以还以 ...

BufferedWriter也是字符流吧,BufferedWriter提供了一个换行的newLine()方法,像'/r/n'也能用来换行,但是只能在windows下才能换行成功,换成Linux系统的话只要'/r'就表示换行了,而BufferedWriter提供的换行方法newLine()是跨平台的。
作者: 钱智慧    时间: 2012-3-4 23:35
陈斌 发表于 2012-3-4 22:05
FileWriter是字符流,而BufferedWriter是字节流BuffereWriter可以实现字符流和字节流的转换
还可以可以还以 ...

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

您说得很有道理,受教了。
作者: 钱智慧    时间: 2012-3-5 12:50
此帖问题已经得到解决,我如何设置为已解决?找了半天不知道在哪




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2