/*
讲解标准输入输出流
System 下面有两个静态成员变变量
public static final InputStream in;
public static final OutputStream out;
in和out都是字节流对象
*/
public class demo1 {
public static void main(String[] args) throws IOException {
//使用字节流接收键盘录入的数据
// 1 BufferedInputStream bis = new BufferedInputStream(System.in);
//输出字节缓冲流里面的数据
/*
int len ;
while ((len = bis.read()) != -1){
System.out.println("你输入的数据是:"+(char) len );
}
*/
//这样我读到一个字节就输出一个字节,输出英文字母是没有问题的但是出现中文一定会乱码
//我们想能不能吧这个字节流转换为字符流
//字节流转换为字符流 我们要使用字符流和字节流之间的桥梁 InputStreamReader OutputStreamReader
// 2 InputStreamReader isr = new InputStreamReader(bis);
//开输出数据
//一次读取一个字符
/*
int len ;
while ((len = isr.read()) != -1){
System.out.println("你输入的数据是:"+(char) len);
}
//这样转化为字符流,遇到汉字的时候输出就没有问题了
*/
//这时候我就又想了能不能一次只读一行数据 就是使用字符缓冲流的特有方法Readline BufferedReader
//我们再把字符流转换为字符缓冲流
//BufferedReader br = new BufferedReader(isr);
//这里其实是吧上面的代码进行了多次的封装我们可以使用链式运算一行代码改定
//实现了从 字节缓冲流 --- 字符流 ---- 字符缓冲流的转化
BufferedReader br = new BufferedReader(new InputStreamReader(new BufferedInputStream(System.in)));
//我们也可以从一开开始就使用字符流进行数据的接收
//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 一行一行的读数据
String s ;
while ((s = br.readLine()) != null){
System.out.println("你输入的数据是:"+s);
}
//释放资源
//bis.close();
//isr.close();
br.close();
}