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))应该是返回字节流对象啊?怎么又是字符流呢?

实在搞不清楚,请各位高手解答?感激不尽!
展开
 我来答
http_p
2013-03-28 · TA获得超过1095个赞
知道小有建树答主
回答量:733
采纳率:100%
帮助的人:586万
展开全部
对于你来说, 这是一个Writer, 即字符流
但是你用这个写字符, 却实际上是写入了一个字节流
这就是所谓的字符流转字节流

你拿着一个字符流写东西Writer, 别人得到的却是一个字节流Stream, 有什么不明白么....

InputStreamReader也是这个意思
别人给你一个输入流是字节流Stream
通过这个一转, 实际上你得到的却是一个字符流Reader
所以说是字节转字符...

你不用在意那些文字上的东西, 你要明白什么时候要用到这些东西就行了
追问
Writer out=new OutputStreamWriter(new FileOutputStream(file));
out.write("留得话");
转了后,现在的out实际上写入到file的是字节,而不是字符,是这个意思么?
追答
是的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式