黑马程序员技术交流社区

标题: 关于OutputStreamWriter的疑问 [打印本页]

作者: 逍遥呆    时间: 2014-9-11 22:30
标题: 关于OutputStreamWriter的疑问
API写
InputStreamReader 是字节流通向字符流的桥梁。
OutputStreamWriter 是字符流通向字节流的桥梁。
这里毕老师的视频也讲了InputStreamReader是从字节流向字符流转换,为什么到OutputStreamWriter 还是从字节流向字符流转换?没理解
作者: fantacyleo    时间: 2014-9-11 22:59
没看懂你的问题。如果我记得没错,老毕视频讲这两个桥梁的时候就是对着API文档讲的。如果他讲得和文档不一致,那应该是他口误了
作者: 逍遥呆    时间: 2014-9-11 23:24
fantacyleo 发表于 2014-9-11 22:59
没看懂你的问题。如果我记得没错,老毕视频讲这两个桥梁的时候就是对着API文档讲的。如果他讲得和文档不一 ...

我就是没理解。到底是怎么转的,这两个都是从字节流转向字符流的吗?
作者: fantacyleo    时间: 2014-9-11 23:31
逍遥呆 发表于 2014-9-11 23:24
我就是没理解。到底是怎么转的,这两个都是从字节流转向字符流的吗?

以API为准   
作者: 苏乞儿    时间: 2014-9-11 23:44
逍遥呆 发表于 2014-9-11 23:24
我就是没理解。到底是怎么转的,这两个都是从字节流转向字符流的吗?


我也刚学到这个地方,有点自己的认识,其实我感觉叫转换流不怎么恰当,叫桥梁更准确一点吧。文本文件存的都是字节流,而他显示的是字符,是因为他查了编码给翻译过来的,InputStreamReader在读取文本文件的时候,是读取文本文件中的字节流的。而OutputstreamWriter是字符流和字节流的桥梁,是用来写文本文件的,这就要把字符转成字节写到文本文件中,然后文本文件通过查阅编码将字符显示出来。两个流接收的都是字节流对象,这点必须把握住。
还自己画了张图。。。楼主参考一下的。。。作用就是从键盘接受数据,然后打印到控制台。

无标题.png (79.39 KB, 下载次数: 11)

无标题.png

作者: wawsc5354524    时间: 2014-9-12 00:07
后者是字符流到字节流
作者: 风无向梦无痕    时间: 2014-9-12 00:23
后者是字符到字节吧!如果是字节到字符是不科学的!
作者: 逍遥呆    时间: 2014-9-12 00:28
苏乞儿 发表于 2014-9-11 23:44
我也刚学到这个地方,有点自己的认识,其实我感觉叫转换流不怎么恰当,叫桥梁更准确一点吧。文本文件存 ...

有点明白了,谢谢,解答很详细,就是这图,有点看不清。但是很感谢
作者: 逍遥呆    时间: 2014-9-12 00:33
wawsc5354524 发表于 2014-9-12 00:07
后者是字符流到字节流

可是视频里举得例子是字节到字符,因为outputstreamwriter中传入的是outputsteam它是字节流,如何是从字符到字节的呢?如果是字符到字节outputstreamwriter中传入的应该是whiter啊
作者: 逍遥呆    时间: 2014-9-12 00:35
wawsc5354524 发表于 2014-9-12 00:07
后者是字符流到字节流

可是视频里举得例子是字节到字符,因为outputstreamwriter中传入的是outputsteam它是字节流,如何是从字符到字节的呢?如果是字符到字节outputstreamwriter中传入的应该是whiter啊
作者: zhxu188    时间: 2014-9-12 00:38
毕老师的视频中确实有几处口误,不过都不影响学习,讲课难免会有口误的,以API为主就行了
作者: WakeUp    时间: 2014-9-12 02:54
LZ还是没有区分InputStream和OutputStream
InputStream是读取,OutputStream是写入
InputStreamReader(InputStream in):读取字节流转换成字符流,通过read()方法从InputStream中读取字符
OutputStreamWriter(OutputStream out):将字符流转换成字节流,通过write()方法写入到OutputStream中
实际上就是:字节流->字符流->内存(字符流)->字节流
作者: cherry@cookie    时间: 2014-9-12 07:04
好强大,学习了
作者: 会飞De石头    时间: 2014-9-12 08:06
逍遥呆 发表于 2014-9-12 00:33
可是视频里举得例子是字节到字符,因为outputstreamwriter中传入的是outputsteam它是字节流,如何是从字 ...

osw是写出,isr是读入;
osw→→os   字符→→字节;
isr←←is  字符←←字节;
作者: 磊弟哥哥    时间: 2014-9-12 10:10
以API为准,这块多看几遍,是挺难理解的




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