/*重定向流:
* 1 针对标准输入输出,比如 System.out.println() 默认打印到控制台或者屏幕,那么屏幕就是节点
* 现在把节点重定向,打印到某个文件里面
*
* 2 System.in 键盘输入流,源是键盘,从键盘读取内容,重定向之后可以从文件或者其他地方读取内容
*
*
* FileReader 节点是File 构造方法里面传File对象
* StringReader 节点是String字符串 构造方法参数是字符串
*
* InputSream是字节输入流,要想使用BufferedReader
* 1、 先把InputStream 转化为字符流 ,用InputStreamReader转换
* 2、 通过新的InputStreamReader对象构造BufferedReader对象
*
* 3、 一般流对象 前面是表示构造需要的节点 ,后面表示读取的方式,包装流除外,包装流封装另外一种流
* 比如 FileReader 节点是File,Reader表示读取方式是字符型
*
* StringReader ,,String表示流节点是字符串
*
* 包装流 BufferedReader 后面的Reader表示要包装的流对象也字符流对象
*
*
*
* 1 针对标准输入输出,比如 System.out.println() 默认打印到控制台或者屏幕,那么屏幕就是节点
* 现在把节点重定向,打印到某个文件里面
*
* 2 System.in 键盘输入流,源是键盘,从键盘读取内容,重定向之后可以从文件或者其他地方读取内容
*
*
* FileReader 节点是File 构造方法里面传File对象
* StringReader 节点是String字符串 构造方法参数是字符串
*
* InputSream是字节输入流,要想使用BufferedReader
* 1、 先把InputStream 转化为字符流 ,用InputStreamReader转换
* 2、 通过新的InputStreamReader对象构造BufferedReader对象
*
* 3、 一般流对象 前面是表示构造需要的节点 ,后面表示读取的方式,包装流除外,包装流封装另外一种流
* 比如 FileReader 节点是File,Reader表示读取方式是字符型
*
* StringReader ,,String表示流节点是字符串
*
* 包装流 BufferedReader 后面的Reader表示要包装的流对象也字符流对象
*
*
*
* */
package day9yue15;
import java.io.*;
public class RedirectOut {
public static void main(String[] args) throws Exception {
//InputStream 是抽象类,不能实例化,所以System.in得到是它的子类,然后向上转型,可以使用子类父类共有方法名的方法
InputStream is = System.in;
//想要使用字符流,is必须使用转换流u,吧字节流转换成字符
InputStreamReader isr = new InputStreamReader(is);
//成功把字节输入流,转换成了字符流,能一下读取一行
BufferedReader br = new BufferedReader(isr);
String name = br.readLine();
System.out.println(name);
}
}