java中OutputStreamWriter一直不理解,请高手解答下.
书上说OutputStreamWriter是将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流的输出对象。jdk中也讲到OutputStreamWriter是字...
书上说OutputStreamWriter是将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流的输出对象。
jdk中也讲到OutputStreamWriter是字符流通向字节流的桥梁。
现有以下代码
Writer out=new OutputStreamWriter(new FileOutputStream(file));
Writer不是字符流吗,OutputStreamWriter是字符流转字节流的啊,
这里(new OutputStreamWriter(new FileOutputStream(file))),哪出现了字符转字节啊?
而且依照 OutputStreamWriter是将输出的字符流变为字节流的说法,new OutputStreamWriter(new FileOutputStream(file))应该是返回字节流对象啊?怎么又是字符流呢?
实在搞不清楚,请各位高手解答?感激不尽! 展开
jdk中也讲到OutputStreamWriter是字符流通向字节流的桥梁。
现有以下代码
Writer out=new OutputStreamWriter(new FileOutputStream(file));
Writer不是字符流吗,OutputStreamWriter是字符流转字节流的啊,
这里(new OutputStreamWriter(new FileOutputStream(file))),哪出现了字符转字节啊?
而且依照 OutputStreamWriter是将输出的字符流变为字节流的说法,new OutputStreamWriter(new FileOutputStream(file))应该是返回字节流对象啊?怎么又是字符流呢?
实在搞不清楚,请各位高手解答?感激不尽! 展开
1个回答
展开全部
对于你来说, 这是一个Writer, 即字符流
但是你用这个写字符, 却实际上是写入了一个字节流
这就是所谓的字符流转字节流
你拿着一个字符流写东西Writer, 别人得到的却是一个字节流Stream, 有什么不明白么....
InputStreamReader也是这个意思
别人给你一个输入流是字节流Stream
通过这个一转, 实际上你得到的却是一个字符流Reader
所以说是字节转字符...
你不用在意那些文字上的东西, 你要明白什么时候要用到这些东西就行了
但是你用这个写字符, 却实际上是写入了一个字节流
这就是所谓的字符流转字节流
你拿着一个字符流写东西Writer, 别人得到的却是一个字节流Stream, 有什么不明白么....
InputStreamReader也是这个意思
别人给你一个输入流是字节流Stream
通过这个一转, 实际上你得到的却是一个字符流Reader
所以说是字节转字符...
你不用在意那些文字上的东西, 你要明白什么时候要用到这些东西就行了
追问
Writer out=new OutputStreamWriter(new FileOutputStream(file));
out.write("留得话");
转了后,现在的out实际上写入到file的是字节,而不是字符,是这个意思么?
追答
是的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询