先把它拆开来看 !!
//System.in 接收来自控制台的输入流
InputStream in = System.in; //把输入流赋值给in
//字节流转字符流,因为字节流通常是二进制,"UTF-8"在转换的时候指定编码,也可不指定
InputStreamReader reader = new InputStreamReader(in,"UTF-8");
//带有缓冲区的reader,方便我们操作
BufferedReader buf=new BufferedReader(reader);
//buf.readLine() 读取一行数据
System.out.println(buf.readLine());
多看看API,多动手练练,慢慢就理解了
第一步:实例化BufferedReader 对象,其中System.in获取的是控制台输入的字节流,InputStreamReader()则是把这个字节流转化成字符流;
第二步:BufferedReader 对象buf 获取控制台输入
BufferedReader是缓存读取,好像是有个缓冲区,和普通的Reader作区别,InputStreamReader是流读取,和字符读取作区别,System.in是系统输入,buf.readLine()是读取一行,最好是做一下练习,理解的更深刻