Java.util.Scanner 类
简介
java.util.Scanner 类是一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。以下是关于 Scanner 的重点 −
Scanner 使用分隔符模式将其输入分解为标记,默认情况下匹配空格。
扫描操作可能会阻塞等待输入。
在没有外部同步的情况下,多线程使用 Scanner 是不安全的。
类声明
以下是 java.util.Scanner 类的声明 −
public final class Scanner extends Object implements Iterator<String>
类构造函数
序号 | 构造函数 & 描述 |
---|---|
1 | Scanner(File source) 这会构造一个新的 Scanner,它会生成从指定文件扫描的值。 |
2 | Scanner(File source, String charsetName) 这会构造一个新的 Scanner,它会生成从指定文件扫描的值。 |
3 | Scanner(InputStream source) 这会构造一个新的 Scanner,它会生成从指定输入流扫描的值。 |
4 | Scanner(InputStream source, String charsetName) 这会构造一个新的 Scanner,它会生成从指定输入流扫描的值。 |
5 | Scanner(Readable source) 这会构造一个新的 Scanner,它会生成从指定源扫描的值。 |
6 | Scanner(ReadableByteChannel source) 这会构造一个新的 Scanner,它会生成从指定通道扫描的值。 |
7 | Scanner(ReadableByteChannel source, String charsetName) 这会构造一个新的 Scanner,它会生成从指定通道扫描的值。 |
8 | Scanner(String source) 这构造了一个新的 Scanner,它生成从指定字符串扫描的值。 |
类方法
序号 | 方法 & 描述 |
---|---|
1 | void close()
此方法关闭此扫描仪。 |
2 | Pattern delimiter()
此方法返回此扫描器当前用于匹配分隔符的模式。 |
3 | String findInLine(Pattern pattern)
此方法尝试查找指定模式忽略分隔符的下一个匹配项。 |
4 | String findInLine(String pattern)
此方法尝试查找从指定字符串构造的模式的下一个匹配项,忽略分隔符。 |
5 | String findWithinHorizon(Pattern pattern, int horizon)
此方法尝试查找指定模式的下一个匹配项。 |
6 | String findWithinHorizon(String pattern, int horizon)
此方法尝试查找从指定字符串构造的模式的下一个匹配项,忽略分隔符。 |
7 | boolean hasNext()
如果此扫描器的输入中有另一个标记,则此方法返回 true。 |
8 | boolean hasNext(Pattern pattern)
如果下一个完整的标记与指定的模式匹配,则此方法返回 true。 |
9 | boolean hasNext(String pattern)
如果下一个标记与从指定字符串构造的模式匹配,则此方法返回 true。 |
10 | boolean hasNextBigDecimal()
如果此扫描仪输入中的下一个标记可以使用 nextBigDecimal() 方法解释为 BigDecimal,则此方法返回 true。 |
11 | boolean hasNextBigInteger()
如果此扫描仪输入中的下一个标记可以使用 nextBigInteger() 方法解释为默认基数中的 BigInteger,则此方法返回 true。 |
12 | boolean hasNextBigInteger(int radix)
如果此扫描器输入中的下一个标记可以使用 nextBigInteger() 方法解释为指定基数中的 BigInteger,则此方法返回 true。 |
13 | boolean hasNextBoolean()
如果此扫描仪输入中的下一个标记可以使用从字符串"true|false"创建的不区分大小写的模式解释为布尔值,则此方法返回 true。 |
14 | boolean hasNextByte()
如果此扫描仪输入中的下一个标记可以使用 nextByte() 方法解释为默认基数中的字节值,则此方法返回 true。 |
15 | boolean hasNextByte(int radix)
如果此扫描仪输入中的下一个标记可以使用 nextByte() 方法解释为指定基数中的字节值,则此方法返回 true。 |
16 | boolean hasNextDouble()
如果此扫描器输入中的下一个标记可以使用 nextDouble() 方法解释为双精度值,则此方法返回 true。 |
17 | boolean hasNextFloat()
如果此扫描仪输入中的下一个标记可以使用 nextFloat() 方法解释为浮点值,则此方法返回 true。 |
18 | boolean hasNextInt()
如果此扫描仪输入中的下一个标记可以使用 nextInt() 方法解释为默认基数中的 int 值,则此方法返回 true。 |
19 | boolean hasNextInt(int radix)
如果此扫描仪输入中的下一个标记可以使用 nextInt() 方法解释为指定基数中的 int 值,则此方法返回 true。 |
20 | boolean hasNextLine()
如果此扫描仪的输入中有另一行,则此方法返回 true。 |
21 | boolean hasNextLong()
如果此扫描仪输入中的下一个标记可以使用 nextLong() 方法解释为默认基数中的长值,则此方法返回 true。 |
22 | boolean hasNextLong(int radix)
如果此扫描仪输入中的下一个标记可以使用 nextLong() 方法解释为指定基数中的 long 值,则此方法返回 true。 |
23 | boolean hasNextShort()
如果此扫描仪输入中的下一个标记可以使用 nextShort() 方法解释为默认基数中的短值,则此方法返回 true。 |
24 | boolean hasNextShort(int radix)
如果此扫描器输入中的下一个标记可以使用 nextShort() 方法解释为指定基数中的短值,则此方法返回 true。 |
25 | IOException ioException()
此方法返回此 Scanner 的底层 Readable 最后抛出的 IOException。 |
26 | Locale locale()
此方法返回此扫描仪的语言环境。 |
27 | MatchResult match()
该方法返回此扫描器执行的最后一次扫描操作的匹配结果。 |
28 | String next()
这个方法从这个扫描器中找到并返回下一个完整的令牌。 |
29 | String next(Pattern pattern)
如果匹配指定的模式,此方法返回下一个标记。 |
30 | String next(String pattern)
如果它与从指定字符串构造的模式匹配,则此方法返回下一个标记。 |
31 | BigDecimal nextBigDecimal()
此方法将输入的下一个标记扫描为 BigDecimal。 |
32 | BigInteger nextBigInteger()
此方法将输入的下一个标记扫描为 BigInteger。 |
33 | BigInteger nextBigInteger(int radix)
此方法将输入的下一个标记扫描为 BigInteger。 |
34 | boolean nextBoolean()
此方法将输入的下一个标记扫描为布尔值并返回该值。 |
35 | byte nextByte()
此方法将输入的下一个标记扫描为一个字节。 |
36 | byte nextByte(int radix)
此方法将输入的下一个标记扫描为一个字节。 |
37 | double nextDouble()
此方法将输入的下一个标记扫描为双精度。 |
38 | float nextFloat()
此方法将输入的下一个标记扫描为浮点数。 |
39 | int nextInt()
此方法将输入的下一个标记扫描为 int。 |
40 | int nextInt(int radix)
此方法将输入的下一个标记扫描为 int。 |
41 | String nextLine()
此方法将此扫描器前进到当前行并返回被跳过的输入。 |
42 | long nextLong()
此方法将输入的下一个标记扫描为 long。 |
43 | long nextLong(int radix)
此方法将输入的下一个标记扫描为 long。 |
44 | short nextShort()
此方法将输入的下一个标记扫描为短。 |
45 | short nextShort(int radix)
此方法将输入的下一个标记扫描为短。 |
46 | int radix()
此方法返回此扫描仪的默认基数。 |
47 | void remove()
Iterator 的此实现不支持删除操作。 |
48 | Scanner reset()
此方法重置此扫描仪。 |
49 | Scanner skip(Pattern pattern)
此方法跳过与指定模式匹配的输入,忽略分隔符。 |
50 | Scanner skip(String pattern)
此方法跳过与从指定字符串构造的模式匹配的输入。 |
51 | String toString()
此方法返回此 Scanner 的字符串表示形式。 |
52 | Scanner useDelimiter(Pattern pattern)
此方法将此扫描仪的分隔模式设置为指定模式。 |
53 | Scanner useDelimiter(String pattern)
此方法将此扫描仪的分隔模式设置为从指定字符串构造的模式。 |
54 | Scanner useLocale(Locale locale)
此方法将此扫描仪的语言环境设置为指定的语言环境。 |
55 | Scanner useRadix(int radix)
此方法将此扫描仪的默认基数设置为指定的基数。 |
继承的方法
这个类继承了以下类的方法 −
- java.util.Object