Java BufferedReader 类
程序员文章站
2024-01-18 22:28:16
...
BufferedReader 类属于一个缓存的输入流, 而且是一个字符流的操作对象
但是对于缓存流, java中有两类: 一类是字节缓存流(BufferedInputStream ), 一类是字符缓存流(BufferedReader)。
BufferedReader 类
public String readLine()
throws IOException
该方法可以读取一行数据(以回车为换行符)
但是如果要去使用 BufferedReader类有一个问题需要注意, 来观察一下 BufferedReader 类中的定义以及它的构造方法
public class BufferedReader extends Reader
public BufferedReader(Reader in)
范例: 利用BufferedReader实现数据从键盘输入
package com.cwq.beyond;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class TestDemo02 {
public static void main(String[] args) throws Exception {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入信息: ");
// 默认的换行模式是BufferedReader是它的最大缺点, 如果不是因为此缺点, 该类还会继续使用
String str = buf.readLine(); // 接收输入信息, 默认是使用回车换行
System.out.println("[ECHO] 输入信息为: "+str);
}
}
使用以上的形式实现的键盘输入还有一个最大的特点, 由于接收的数据类型为String, 也就证明可以使用正则判断, 也可以使用String 类的各种操作进行数据处理, 还可以变为各种常用的数据类型
范例: 由键盘输入数字
package com.cwq.beyond;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class TestDemo02 {
public static void main(String[] args) throws Exception {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入年龄: ");
// 默认的换行模式是BufferedReader是它的最大缺点, 如果不是因为此缺点, 该类还会继续使用
String str = buf.readLine(); // 接收输入信息, 默认是使用回车换行
if (str.matches("\\d{1,3}")) { // 是一个数字
System.out.println("年龄为:"+Integer.parseInt(str)+"岁~");
}else {
System.out.println("[ECHO] 输入信息为有误 ");
}
}
}
在很多的开发之中, 依然可能会发现有BufferedReader类的身影, 但是这个类随着时间的偏移, 基本不使用了, 已经被新的类 Scanner类取代了,
但是 BufferedReader 类 读取数据很方便, 关键方法 readLine()
上一篇: 求一段php代码,判断一个字符串中是否存在两个或以上的子字符串
下一篇: PHP_005 数组