一. 背景
这是一个简单的文本扫描类,能够解析基本数据类型与字符串。它是StringTokenizer和Matcher类之间的某种结合。
最大的优点是读取控制台输入非常方便,其它功能,有点鸡肋。
二. 示范代码
package com.clzhang.sample.thinking;import java.util.*;
import org.junit.Test;public class JDK15Scanner {
@Test
public void testScanner() {
// 主要功能,读取控制台输入
Scanner scanner1 = new Scanner(System.in);
boolean bool = scanner1.nextBoolean();
byte b = scanner1.nextByte();
short s = scanner1.nextShort();
int i = scanner1.nextInt();
long l = scanner1.nextLong();
double d = scanner1.nextDouble();
String line = scanner1.nextLine(); // 它搜索上一次输入余下的部分,哪怕没有数据
String line2 = scanner1.nextLine(); // 重新读取输入
scanner1.close();
System.out.println(bool + "|" + b + "|" + s + "|" + i + "|" + l + "|" + d + "|" + line + "|" + line2);
// 其它功能,解析字符串,意义不大
Scanner scanner2 = new Scanner("123,456,789,asd,fgh,jkl");
scanner2.useDelimiter(",");
while (scanner2.hasNext()) {
System.out.println(scanner2.next());
}
scanner2.close();
// 再其它功能,就不介绍了
}
}
输出
true
1
2
3
4
5.0 34
ddasdsa
true|1|2|3|4|5.0| 34|ddasdsa
123
456
789
asd
fgh
jkl