黑马程序员技术交流社区

标题: 为什么没有字符流转成字节流的转换流? [打印本页]

作者: 黄翔    时间: 2014-2-18 20:44
标题: 为什么没有字符流转成字节流的转换流?
Java IO包中怎么没有将字符流转成字节流的转换流呢?不要讲字符流比字节流更方便,有神马更深入的原因吗?求高手解惑!
作者: 山治0712    时间: 2014-2-18 21:10
有啊public class OutputStreamWriterextends WriterOutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。   
作者: 唐宋元明清    时间: 2014-2-18 21:35
BufferedWriter bufw=new BufferedWriter(new FileOutputSteam(File file));  不就是么。。。把字符转换成字节流保存到文件中。
作者: 黄翔    时间: 2014-2-19 09:49
山治0712 发表于 2014-2-18 21:10
有啊public class OutputStreamWriterextends WriterOutputStreamWriter 是字符流通向字节流的桥梁:可使用 ...

OutputStreamWriter是将字节输出流转成字符输出流的
作者: 黄翔    时间: 2014-2-19 10:05
唐宋元明清 发表于 2014-2-18 21:35
BufferedWriter bufw=new BufferedWriter(new FileOutputSteam(File file));  不就是么。。。把字符转换成 ...

虽然没有解释原因,但这也是一种方式,通过字符缓冲输出流BufferedWriter和字节文件输出流FileOutputStream的两个流的组合来完成转换,很不错的方式,受教了。可能编写API的也是这样想的,又或者真的是没必要吧。
作者: .......    时间: 2014-2-19 10:15
有的 其实最好的方法是自己去查API这样你的影响才会更深刻。 他们都是属于IO操作的 你去那个包找
作者: 唐宋元明清    时间: 2014-2-19 11:57
黄翔 发表于 2014-2-19 10:05
虽然没有解释原因,但这也是一种方式,通过字符缓冲输出流BufferedWriter和字节文件输出流FileOutputStre ...

Sorry,我说错了,咱们都理解错了。。我看了API
public BufferedWriter(Writer out) //参数只能用字符输出流。不能用字节输出流。

OutputStreamWriter(OutputStream out) 是字符流通向字节流的桥梁;//把字符转换成字节输出流
InputStreamReader(InputStream in)  是字节流通向字符流的桥梁//是被转换成字符流
转换流就只有这两个类。。。
作者: sinxy    时间: 2014-2-19 13:38
黄翔 发表于 2014-2-19 09:49
OutputStreamWriter是将字节输出流转成字符输出流的

楼主 你的错了 OutputStreamWriter是将字符流编码为字节流的 InputStreamReader是将字节流解码为字符流
作者: 黄翔    时间: 2014-2-19 20:36
sinxy 发表于 2014-2-19 13:38
楼主 你的错了 OutputStreamWriter是将字符流编码为字节流的 InputStreamReader是将字节流解码为字符流 ...

老毕不是讲字节加编码表等于字符,你搞反了吧
作者: sinxy    时间: 2014-2-20 09:41
黄翔 发表于 2014-2-19 20:36
老毕不是讲字节加编码表等于字符,你搞反了吧

自己看API
作者: tf996268809    时间: 2014-2-20 19:44
有啊,OutputStreamwriterj就是.   字节流转换成字符流是InputStreamReader
作者: 黄翔    时间: 2014-2-20 20:58
sinxy 发表于 2014-2-20 09:41
自己看API

是我搞错了




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