黑马程序员技术交流社区

标题: 字节转字符和字符转字节到底啥意思 [打印本页]

作者: 逍遥小seng    时间: 2014-10-28 22:02
标题: 字节转字符和字符转字节到底啥意思
为什么InputStreamReader(InputStream in)和OutputStreamWriter(OutputStream )接受的都是字节流,尤其是后者怎么解释!求帮助!
作者: OnlyStyle    时间: 2014-10-28 22:39
这个好像是转换流吧,转换的就是字节流,不接收字节流接收什么?后者就是将从内存输出的字节流按照平台默认编码写成字符吧,没查API,自己看看就知道了,好像是这样的。
作者: nerveva2000    时间: 2014-10-29 21:25
本帖最后由 nerveva2000 于 2014-10-29 21:34 编辑

InputStreamReader  
字节流转字符流
从字面理解,有个in,输入字节流,就是说从外部进来的是字节数据,所以,你得到的是字符流。
一个比较容易理解的例子就是键盘录入
InputStreamReader isr = new InputStreamReader(System.in);
你敲击键盘,电脑得到的是二进制码,是字节。  通过InputStreamReader,可以转换为字符。放便我们操作是阅读。


OutputStreamWriter
字符流转字节流
从字面理解,有个out,输出字节流,就是说往外输出的是字节数据,所以,你丢出去的是字节流。
OutputStreamWriter osw = new OutputStreamWriter (System.out);
我们在cmd中输入指令,看到的是我们能看懂的字符,但是这个电脑是看不懂的,所以我们通过OutputStreamWriter ,将我们输入的字符转换成字节流,这样程序就能识别了。

不知道对你有没有帮助,我一开始也糊涂,后来仔细思考了一下,我是靠上面的想法记住的

作者: 戏言丶    时间: 2014-10-30 00:50
楼上说得挺有道理,拿进来和扔出去的都是字节流,只不过中间有一段的缓冲是字符流




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