java基础—IO流——转换流的操作



转换流的使用

转换流:
    InputStreamReader:字节到字符的桥梁,解码。
    OutputStreamWriter:字符到字节的桥梁,编码



import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class SystemInput 
{
//读取键盘录入的字母,并将所有字母转换成大写字母输出在控制台上
	public static void main(String[] args) 
	{
		// 
		//SystemInDemo1();
		//ReadFileOut();
		ReadFileOut1();
	}
	private static void ReadFileOut1() {
		// 将键盘录入的数据储存到一个文件中去
		BufferedReader br = null;
		br = new BufferedReader(new InputStreamReader(System.in));
		//创建输出文件路径
		BufferedWriter bw = null;
		try {
			bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("C:\\Users\\Administrator\\Desktop\\测试文件夹\\SystemInDemos.txt")));
			String len = null;
			while((len = br.readLine())!=null)
			{
				bw.write(len);
				bw.newLine();
				bw.flush();
			}
		} catch (FileNotFoundException  e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally
		{
			try 
			{
				bw.close();
			} catch (IOException e) 
			{
				e.printStackTrace();
			}
			try 
			{
				br.close();
			} catch (IOException e) 
			{
				e.printStackTrace();
			}
		}
		
	}

	private static void ReadFileOut() 
	{
	// 使用转换流将键盘上的数据输出在控制台上
	
		InputStream in = System.in;
		InputStreamReader isr = new InputStreamReader(in);
		
		//字符流
		BufferedReader br = new BufferedReader(isr);
		
		//字节流输出数据
		OutputStream out = System.out;
		
		OutputStreamWriter osw = new OutputStreamWriter(out);
		
		BufferedWriter bw = new BufferedWriter(osw);
		String len = null;
		try {
			while((len = br.readLine())!=null)
			{
				bw.write(len);
				bw.newLine();
				bw.flush();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
}

	private static void SystemInDemo1() {
		// 使用转换流读取一个键盘录入的数据并打印在控制台上
		BufferedReader bis = null;
		BufferedWriter bos = null;

		bis = new BufferedReader(new InputStreamReader(System.in));
		
		bos = new BufferedWriter(new OutputStreamWriter(System.out));
		
		String len = null;
		try {
			while((len=bis.readLine())!=null)
			{
				String s = len.toUpperCase();
				bos.write(s);
				bos.newLine();
				bos.flush();
				
			}
		} catch (IOException e) 
		{
			e.printStackTrace();
		}
		finally
		{
			try 
			{
				bis.close();
			} catch (IOException e) 
			{
				e.printStackTrace();
			}
			try 
			{
				bos.close();
			} catch (IOException e) 
			{
				e.printStackTrace();
			}
		}
		
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早起的年轻人

创作源于分享

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值