黑马程序员技术交流社区

标题: OutputStreamWriter的使用 [打印本页]

作者: 李凤鸣    时间: 2013-1-29 19:48
标题: OutputStreamWriter的使用
本帖最后由 张向辉 于 2013-2-2 12:31 编辑

这是视频中的一个小例子:

1    OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("d.txt"),"UTF-8");
2    BufferedWriter bufw=new BufferedWriter(osw);


BufferedWriter是字符写入缓冲区,里面应该是放入字符流

OutputStreamWriter 是转换流,将字符转换成字节流

那为什么将osw放入了BufferedWriter对象里呢???

有些疑惑


作者: vmvm555    时间: 2013-1-29 21:24
应该是更加高效的输出吧,或者是BufferedWriter类中包装了更加好用的输出方法吧,BufferedWriter中不是有个newLine()方法吗,该方法提供了换行的功能,且不受平台的限制
作者: 杨玲    时间: 2013-1-29 22:32
首先这个OutputStreamWriter是一个转换流,它的作用是把字节流转换成字符流,得到的实际上就是一个字符流呀.而BufferedWriter是一个字符流的包装类.用字符流的包装类包装字符流有什么不对吗?
作者: 鲁柯    时间: 2013-1-31 11:06
1    OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("d.txt"),"UTF-8");
2    BufferedWriter bufw=new BufferedWriter(osw);

BufferedWriter是字符写入缓冲区,里面应该是放入字符流   

OutputStreamWriter 是转换流,将字符转换成字节流    ×是将字节流转为字符流,后边是Reader和Writer的都是字符流

那为什么将osw放入了BufferedWriter对象里呢???  
将字符流放入字符流缓冲区中理所应当呀,还可以提高操作效率,使用更简单的操作方式



作者: 逍林游    时间: 2013-1-31 11:22
BufferedWriter是OutputStreamWriter的包装类!看看jdk文档就知道了
作者: 黄锦成    时间: 2013-1-31 15:40
在io中,OutputStreamWriter属于Writer体系,这个没什么好说的。java设计者就设计成这样子

转换流.PNG (15.86 KB, 下载次数: 186)

转换流.PNG

作者: 铿锵科技    时间: 2013-2-1 01:07
BufferedWriter是将你的流缓冲起来,提高大数据的写入效率




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