概念: Scanner类是基于正则表达式的文本扫描器,它可以从文件,输入流,字符串解析出基本类型值和字符串值.
使用: 获取键盘输入,获取文件输入
常用方法:
hasNextXxx():是否有下一项输入,Xxx可以为基本数据类型,也可以为字符串
nextXxx():获取下一个输入项.Xxx可以为基本数据类型,也可以为字符串.
useDelimiter(): 为Scanner实例设置分割符,参数应该为正则表达式,默认情况下程序会把每行当成一个输入项.
// 逐行读取
boolean hasNextLine(): 返回输入源是否还有下一行
String nextLine(): 返回输入源下一行的字符串
例子:
1. 获取字符串String类型的输入
public static void main(String[] args) {
// System.in 表示从键盘获取输入信息
Scanner in = new Scanner(System.in);
// 设置分隔符
in.useDelimiter("\n");
System.out.println("请输入:");
// 判断是否还有下一项
while(in.hasNext()){
// 输出输入项
System.out.println("从键盘获取的信息为:"+in.next());
}
}
2. 获取int类型输入
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入整形数据");
while(in.hasNextInt()){
System.out.println("键盘输入了"+in.nextInt());
}
}
3.获取文件输入
// 记得抛出异常
public static void main(String[] args) throws FileNotFoundException
{
// 在Scanner构造器中传入文件
Scanner in = new Scanner(new File("hello.java"));
System.out.println("hello.java内容是:");
// 使用hasNextLine()判断是否有下一行内容
while(in.hasNextLine()){
// 使用nextLine()读取内容
System.out.println(in.nextLine());
}
}