黑马程序员技术交流社区
标题:
如何理解OutputStreamWriter 是字符流通向字节流的桥梁
[打印本页]
作者:
Ysfox
时间:
2013-7-4 15:09
标题:
如何理解OutputStreamWriter 是字符流通向字节流的桥梁
如题.
如何理解OutputStreamWriter 是字符流通向字节流的桥梁
这个OuputStreamWriter是将字符流转换成字节流还是将字节流转换成字符流??
我重API字面意思理解就是将字符流转换成字节流,但下面程序中传入的确是一个字节流,到底是怎么回事哦?
import java.io.*;
class TransStreamDemo
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//API上说OutputStreamWriter是字符流通向字节流的桥梁,按照字面意思就是将字符流转换成字节流,传入应该传入字符流才对呀,而这里System.out是SprintStream是一个字节流
//难道OutputStreamWriter的功能也是将字节流转换成字符流???有些不明白这点???
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while((line=br.readLine())!=null)
{
if("over".equals(line))
break;
bw.write(line.toUpperCase());
bw.newLine();
bw.flush();
}
br.close();
bw.close();
}
}
复制代码
作者:
Ysfox
时间:
2013-7-4 20:13
标题:
转换流图解
本帖最后由 Ysfox 于 2013-7-4 20:25 编辑
IO.jpg
(34.18 KB, 下载次数: 0)
下载附件
2013-7-4 20:13 上传
IO.jpg
(34.18 KB, 下载次数: 0)
下载附件
2013-7-4 20:12 上传
作者:
Ysfox
时间:
2013-7-4 20:18
本帖最后由 Ysfox 于 2013-7-4 20:24 编辑
经过很多的查找,现在大概能懂了
InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象
那么InputStreamReader(字节流),将字节流转换成为字符流,传的参数是字节流
OutputStreamWrite:是Write的子类,将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流输出对象 OutputStreamWrite(字节流),为什么传入的参数是字节流?,因为这个类是写入文件,是将字符流写入到字节流中去。
这里字符流是write方法中的字符流数据,而这里的字节流是传的那个参数
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2