今天我学了获取键盘输入的两个类,Scanner、BufferedReader。下面就一一来介绍他们的用法!
Scanner
位于java.util的Scanner,可以非常方便的获取键盘输入,它是JDK1.5新增的工具类,是一个使用正则表达式来解析基本类型和字符串的简单文本扫描器。
Scanner提供了多个构造方法,可以接受文件、字符串、输入流~!
两个主要的方法:
hasNext( ):
next( );
eg:
import java.util.Scanner;
public class TestScanner{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext())
{
String str=sc.next();
if(str.equals("exit"))
{
break;
}
System.out.println("你输入的内容:"+str);
}
}
}
上面的两个方法是匹配字符串的,查阅API会发现hasNext( )接口list<String>中的方法,当然还有hasNextInt()、hasNextLong( ),可想而知啦~!
说,Scanner是基于正则表达式的文本扫描器,在Scanner类中有useDelimiter(String path)方法,用来匹配正则表达式,大家叫他分隔符。
BufferedReader
学过IO这一章的童鞋们肯定不陌生这个类吧,字符包装流,说的就是他,它必须建立在字符流的基础之上,也就是InputStreamReader这个类,这是一个转换流,就不用说啦~!
eg:
import java.io.*;
public class TestBufferedReader{
public static void main(String[] args) throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=null;
while((str=br.readLine())!=null)
{
if(str.equals("exit"))
{
break;
}
System.out.println("键盘输入的内容:"+str);
}
}
}