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