/*
将字符流转换成字节流:OutputStreamWriter
*/
import java.io.*;
class OutputStreamWriterDemo1
{
public static void main(String[] args) throws IOException
{
//获取键盘录入对象。
InputStream in = System.in;
//将字节流对象转成字符流对象,使用转换流。InputStreamReader,把字节流对象in传进去
InputStreamReader isr = new InputStreamReader(in); //对象in由字节流变成了字符流isr
//为了提高效率,将字符串进行缓冲区技术高效操作。使用BufferedReader
BufferedReader bufr = new BufferedReader(isr); //创建缓冲区对象,将字符流对象isr传入
OutputStream out = System.out; //创建一个输出流对象out,已经是屏幕输出,所以不用再写输出语句
OutputStreamWriter osw = new OutputStreamWriter(out); //对象out由字符流变成了字节流osw
BufferedWriter bufw = new BufferedWriter(osw); //创建缓冲区对象,将字节流对象osw传入
String line = null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine(); //进行换行操作
bufw.flush(); //将缓冲区数据进行刷新操作
}
bufr.close(); //关闭缓冲区资源
}
}
问题:
请看一下我红色部分的注释对吗?为什么要把字符流转换成字节流,不是输出吗?输出的话,又不是存储,只有存储的时候才把字符流转换成字节流,我怎么越想越糊涂,谁能帮我解释一下啊!多谢指教!
|