欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

转换流InputStreamReader,OutputStreamWriter 博客分类: j2se javaio 

程序员文章站 2024-03-16 19:46:10
...
import java.io.*;

/*

规律:
1,明确数据源和数据目的。
	其实就是在明确到底是输入流还是输出流。

2,明确操作的数据是否是纯文本数据。
	其实就是在明确到底是用字符流还是字节流。
需求:
1,通过键盘录入将数据打印在控制台上。

2,复制一个文本文件。

3,将键盘录入的数据存储到一个文件中。

4,将一个文件打印在控制台上。


*/

class  TransStream
{
	public static void main(String[] args) throws IOException
	{
		System.setIn(new FileInputStream("CopyBmp.java"));

		System.setOut(new PrintStream("zz.txt"));

//		InputStream in = System.in;
//		InputStreamReader isr = new InputStreamReader(in);
//		BufferedReader  bufr = new BufferedReader(isr);

		BufferedReader bufr = 
			new BufferedReader(new InputStreamReader(System.in));

//		OutputStream out = System.out;
//		OutputStreamWriter osw = new OutputStreamWriter(out);
//		BufferedWriter bufw = new BufferedWriter(osw);
		BufferedWriter bufw = 
			new BufferedWriter(new OutputStreamWriter(System.out));


		String line = null;

		while((line=bufr.readLine())!=null)
		{
			if("over".equals(line))
				break;
			bufw.write(line.toUpperCase());
			bufw.newLine();
			bufw.flush();

		}
		bufw.close();
		bufr.close();
	}

	public static void readIn()throws IOException
	{
		StringBuilder sb = new StringBuilder();

		int ch = 0;

		while(true)
		{
			InputStream in = System.in;
			ch = in.read();

			if(ch=='\r')
				continue;
			if(ch=='\n')
			{
				String s = sb.toString();
				if("over".equals(s))
					return ;//break;
				System.out.println(s.toUpperCase());
				sb.delete(0,sb.length());
			}
			else
				sb.append((char)ch);
		}
	}
}

 

相关标签: java io