BufferedReader:
缓冲字符输入流,这个类可以很好地解决输入流数据的读取问题,此类是最早时候提供最完善的数据输入处理(JDK 1.5之前),在JDK 1.5之后出现了另外的更强大的类;
这个类之中提供了一个重要的方法:
读取一行数据: public String readLine() throws IOException;
以换行符为分割。当数据的输入用String来接收,那么就可以使用String中的各种方法来转换,并且String中有正则可以方便数据的验证。
实现数据输入的标准化定义:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class MAIN {
public static void main(String[] args) throws Exception{
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入:");
String msg = input.readLine(); // 接收输入信息,会放入缓冲区,将所有数据整体输入
System.out.println("显示内容:" + msg);
}
}
在以后所有涉及到数据的输入都是使用String描述的,这样就方便了接受者进行各种处理。
接收整型输入并且验证:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class MAIN {
public static void main(String[] args) throws Exception{
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入年龄:");
String msg = input.readLine(); // 接收输入信息,会放入缓冲区,将所有数据整体输入
if (msg.matches("\\d{1,3}")){ // 验证是否由数字组成
int age = Integer.parseInt(msg);
System.out.println("年龄:" + msg);
}else {
System.out.println("输入的年龄有误!");
}
}
}
标准的输入都是在JDK1.5之前,在实际开发中所有输入的数据全都是字符串,这样可以方便用户验证与进行字符串的复杂处理。