Scanner
Scanner:
一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器;
使用默认空白分隔符将输入内容进行分割,可以通过判断分割而成的内容的类型调用该扫描器对应的next方法一个一个的取出;
该类位于java.util包下,从JDK1.5开始;
默认空白分隔符:
该文本扫描器使用的默认空白分隔符参见Character类中的isWhitespace(int codePoint)方法来判定.
当且仅当字符满足以下标准,才能算是java的一个空白字符:
(1).它是一个 Unicode 空白字符(SPACE_SEPARATOR
、LINE_SEPARATOR
或 PARAGRAPH_SEPARATOR
),但不是一个不间断空格('\u00A0','\u2007','\u202F')
(2).'\u0009':水平制表符
(3).'\u000A':换行
(4).'\u000B':纵向制表符
(5).'\u000C':换页
(6).'\u000D':回车
(7).'\u001C':文件分隔符
(8).'\u001D':组分隔符
(9).'\u001E':记录分隔符
(10).'\u001F':单元分隔符
输入内容:
(1).已存在的字符串
import java.util.Scanner;
public class ScannerStudy {
public static void main(String[] args) {
String str="1 dog 2 cat 3 mouse";
Scanner sc=new Scanner(str);
while(sc.hasNext()) {
System.out.println(sc.next());
}
}
}
运行结果:
1
dog
2
cat
3
mouse
(2).键盘输入
import java.util.Scanner;
public class ScannerStudy {
public static void main(String[] args) {
System.out.println("请输入......");
Scanner sc=new Scanner(System.in);
while(sc.hasNext()) {
System.out.println(sc.next());
}
}
}
控制台输入:
14 dog spring hibernate true
输出结果:
14
dog
spring
hibernate
true
(3).文件读取
src目录下创建一个文件test.txt,里面内容如下:
100 hello onepiece
55
66true 3.14
88
A
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ScannerStudy {
public static void main(String[] args) {
try {
Scanner sc = new Scanner(new File("src/test.txt"));
while(sc.hasNext()) {
System.out.println(sc.next());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
运行结果:
100
hello
onepiece
55
66true
3.14
88
A