上一篇:System类助力标准IO实现 | 带你学《Java语言高级特性》之六十六
本节将为读者介绍缓冲字符输入流BufferedReader类,并向读者介绍使用缓冲流的一些数据输入方面的优点。
【本节目标】
通过阅读本节内容,你将先了解到BufferedReader的继承关系,并了解到其核心方法readLine在数据输入方面带来的便利性,学会使用BufferedReader类实现键盘数据的输入和处理工作。
BufferedReader类
BufferedReader类提供的是一个缓冲字符输入流的概念,也就是说利用BufferedReader类可以很好的解决输入流数据的读取问题,这个类是在最初的时候提供的最完善的数据输入的处理(JDK1.5之前,JDK1.5后出了一个更很强大的类代替此类),之所以使用这个类来处理,是因为这个类中提供有一个重要的方法:
读取一行数据: public String readLine() throws IOException;
BufferedReader
将利用这个类实现键盘输入数据的标准化定义。
范例:实现键盘数据输入
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class JavaAPIDemo {
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);
input.close();
}
}
//请输入信息:马上就放假了,我们要一起开心的学习,不放假了!
//输入内容为:马上就放假了,我们要一起开心的学习,不放假了!
在以后的实际开发中经常会遇见输入数据的情况,而所有输入数据的类型都是通过String描述的,那么这样就方便了接收者进行各种处理。
范例:接收整型输入并且验证
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class JavaAPIDemo {
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("年龄为:"+age);
}else{
System.err.println("请确保您看懂了我的提示,不要随意输入,伤不起!");
}
}
}
对于现在的Java开发由键盘输入数据的情况并不多了,但是作为一些基础的逻辑训练还是可以使用键盘输入数据的,而键盘输入数据的标准做法(JDK1.5之前)就是上面的实现操作。实际开发中所有输入的数据全部都是字符串,这样可以方便验证与进行字符串的复杂处理。
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学
下一篇:使用Scanner类完成数据输入 | 带你学《Java语言高级特性》之六十八
更多Java面向对象编程文章查看此处