java中OutputStreamWriter和BufferedWriter问题,实在弄不明白!!一夜睡不着啊!!!!!

java中InputStreamReader和OutputStreamWriter都是转换流。InputStreamReader是将字节流转换为字符流,OutputStreamWriter是字符转字节流。那么BufferedWriter out =new BufferedWriter(new OutputStreamWriter(System.out))这句代码该怎么解释呢?按照java JDK所言,

也就是说BufferedWriter构造方法中只能传一个Writer类型的字符流,可OutputStreamWriter却是将字符流转换为字节流的一个转换类型,怎么new OutputStreamWriter(System.out)就成了字符流了???还有就是System.out是PrintStream类型,而PrintStream有是OutputStream的子类,也就是说System.out本身就是字节流了,为甚么还要用new OutputStreamWriter将原本已是字节流的System.out转换为字节流呢???

OutputStreamWriter 将字节流转换为字符流。这就是一个Writer类型的字符流。new OutputStreamWriter(System.out)这是把字节流转换成字符流。
所以你的问题就在把OutputStreamWriter转换搞反了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-19
能不能不要这么想当然的?
知道看api不知道去看一下OutputStreamWriter到底是个什么东西嘛
public class OutputStreamWriter extends Writer{...}
继承自Writer,本身就是一个Writer,
第2个回答  2018-05-19
blog.csdn.net/pasken/article/details/48826657
看这个,你就能想通了
第3个回答  2014-05-19
这里使用了java的一些设计模式.你可以参看以下链接
主要使用的是-装饰模式
有空可以研究研究
第4个回答  2016-08-18
OutputStreamWriter是转字节为字符吧

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网