//仅作为学习笔记
/*
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();
}
}