一. 背景
这是一个简单的文本扫描类,能够解析基本数据类型与字符串。它是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