JAVA IO流(改变设备标准输入输出位置) 及 流操作规律

//仅作为学习笔记

/*
 1,源:键盘录入
 目的 :控制台
 
 
 2,,需求:想把键盘录入的数据存储到一个文件中
 源:键盘
 目的:文件
 
 3,需求:想要将一个文件的数据打印在控制台上
 源 : 文件
 目的:控制台
 
 流操作的基本规律:
 通过三个明确来完成
 1,明确源和目的
 	源 :输入流  InputStream  Reader
 	目的:输出流  OutputStream  Writer 
 2,操作的数据是否是纯文本
 	是 :字符流
 	否:字节流
 3,当体系明确后 ,在明确要使用哪个具体的对象
 	通过设备来进行区分
 	源设备 :内存 硬盘  键盘
 	目的设备 :内存 硬盘 控制台
 
 
 1,将一个文本文件中的数据存储到另一个文件中  复制文件
 	源 :使用读取流  InputStream  Reader
 	
 	操作文本 就使用Reader
 	
 	接下来明确要是用该体系中的哪个对象
 	明确设备:硬盘 上一个文件
 	Readr 体系中可以操作文件的对象是FileReader
 	(需要提高效率的  可以加入Reader 体系中的缓冲区 BufferedReader)
 	
 	FileReader fr = new FileReader("a.txt");
 	BufferedReader bufr = new BufferedReader(fr);
 	
 	
 	目的:OutputStream  Writer  
 	若是纯文本 使用 Writer
 	
 	设备 硬盘 一个文件
 	
 	Writer 体系中可以操作文件的兑现 FileWriter
 	(提高效率 加入Writer 体系中缓冲区) BUfferedWriter
 	
 	FileWriter fw = new FileWriter("b.txt");
 	BufferedWriter bufw = new BufferedWriter(fw);
 
 
 * */


// 改变表准输入输出设备
import java.io.*;

public class TestDemo
{
	public static void main(String []args) throws IOException
	{
		System.setIn(new FileInputStream("d:\\TestDemo.java"));
		//将D盘下的TestDemo 文件作为标准读入的位置
		
		System.setOut(new PrintStream("d:\\Test.txt"));
		//将D盘下的Test文件作为标准写入的位置 和  和上面的代码同是存在 可以实现文本的复制
			
		BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
		
		OutputStream out = System.out;
		
		OutputStreamWriter  osw = new OutputStreamWriter(out);
		
		BufferedWriter bfw = new BufferedWriter(osw);
		
		
		String line = null;
		
		while( (line = bufr.readLine()) !=null)
		{
			if("over".equals(line))
				break;
			bfw.write(line.toUpperCase());
			bfw.newLine();//换行
			bfw.flush();//刷新流
		}
		bufr.close();
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值