首页 > 代码库 > JAVA之IO技术转换流方式优化键盘录入InputStreamReader,OutputStreamReader

JAVA之IO技术转换流方式优化键盘录入InputStreamReader,OutputStreamReader

package ioTest.io2;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

/*
 * 在Readin这个类(读取键盘录入的最基础的方法类)的末尾,我们提出了一个问题,是否可以使用readline()方法?
 * readline方法是BufferedReader的方法。也就是说它是字符流的方法。那么
 * 是否可以通过转换实现呢?
 * 答案是可以的。
 * 下面的实例就用来演示装换流
 * InputStreamReader,OutputStreamWriter
 */
public class TransStreamDemo {

	public static void main(String[] args) throws IOException {
		String line=null;
		//定义源
		//InputStream in=System.in;
		//InputStreamReader isr=new InputStreamReader(in);
		//BufferedReader才有readLine(),所以需要增强功能
		//BufferedReader br=new BufferedReader(isr);
		
		//以上三绝话定义了可以一行一行的读取键盘输入,下面的语句是将上述三句话
		//整合成一句话:这句话是最常用的读取键盘录入的代码
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		//定义目的
		OutputStream out=System.out;
		OutputStreamWriter osw=new OutputStreamWriter(out);
		//进行功能增强
		BufferedWriter bw=new BufferedWriter(osw);
		
		while((line=br.readLine())!=null)
		{
			if("over".equalsIgnoreCase(line))
				break;
			bw.write(line);
			bw.newLine();
			bw.flush();
			//输出 到控制台
			//System.out.println(line);
		}
	}
}