利用字节流包装成字符流再升级成为带缓冲区的字符流来仿造Scanner,代码如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test106 {
public static void main(String[] args) {
//将System.in转换为字符流对象
InputStreamReader isr = new InputStreamReader(System.in);
//用缓冲流进行包装
BufferedReader br = new BufferedReader(isr);
System.out.println("please input your name:");
try {
String str1 = br.readLine();
System.out.println("please input your age");
String str2 = br.readLine();
System.out.println("name:"+str1);
System.out.println("age:"+str2);
br.close();
isr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
没错,就是这样,运行就可以输入了:
please input your name:
嫖顺
please input your age
20
name:嫖顺
age:20