| 返回类型 | 方法描述 |
|---|---|
| void | close()
关闭此扫描仪。 |
| Pattern | delimiter()
返回 Pattern这个 Scanner正在使用来匹配分隔符。 |
| String | findInLine (Pattern pattern)
尝试找到忽略分隔符的指定模式的下一个出现。 |
| String | findInLine (String pattern)
尝试查找从指定字符串构造的模式的下一个出现,忽略分隔符。 |
| String | findWithinHorizon(Pattern pattern, int horizon)
尝试找到指定模式的下一个出现。 |
| String | findWithinHorizon (String pattern, int horizon)
尝试查找从指定字符串构造的模式的下一个出现,忽略分隔符。 |
| boolean | hasNext()
如果此扫描仪在其输入中有另一个令牌,则返回true。 |
| boolean | hasNext (Pattern pattern)
如果下一个完整的令牌匹配指定的模式,则返回true。 |
| boolean | hasNext(String pattern)
如果下一个令牌匹配从指定字符串构造的模式,则返回true。 |
| boolean | hasNextBigDecimal()
如果在此扫描器输入信息的下一个标记可以解释为,则返回true BigDecimal使用 nextBigDecimal()方法。 |
| boolean | hasNextBigInteger()
如果在此扫描器输入信息的下一个标记可以解释为,则返回true BigInteger在使用默认基数 nextBigInteger()方法。 |
| boolean | hasNextBigInteger(int radix)
如果在此扫描器输入信息的下一个标记可以解释为,则返回true BigInteger在使用指定基数 nextBigInteger()方法。 |
| boolean | hasNextBoolean()
如果此扫描器输入中的下一个标记可以使用从字符串“true | false”创建的不区分大小写的模式解释为布尔值,则返回true。 |
| boolean | hasNextByte()
如果此扫描仪输入中的下一个标记可以使用 解释为默认基数中的字节值,则返回true。 |
| boolean | hasNextByte(int radix)
如果扫描仪输入中的下一个标记可以使用 nextByte()方法解释为指定基数中的字节值,则返回true。 |
| boolean | hasNextDouble()
如果扫描仪的输入中的下一个标记可以使用 nextDouble()方法将其解释为双重值,则返回true。 |
| boolean | hasNextFloat()
如果扫描仪输入中的下一个标记可以使用 nextFloat()方法将其解释为浮点值,则返回true。 |
| boolean | hasNextInt()
如果此扫描仪输入中的下一个标记可以使用 nextInt()方法解释为默认基数中的int值,则返回true。 |
| boolean | hasNextInt(int radix)
如果此扫描仪输入中的下一个标记可以使用 nextInt()方法解释为指定基数中的int值,则返回true。 |
| boolean | hasNextLine()
如果扫描仪的输入中有另一行,则返回true。 |
| boolean | hasNextLong()
如果此扫描仪输入中的下一个标记可以使用 解释为默认基数中的长整型值,则返回true。 |
| boolean | hasNextLong(int radix)
如果扫描仪的输入中的下一个标记可以使用 nextLong()方法解释为指定基数中的长整型值,则返回true。 |
| boolean | hasNextShort()
如果此扫描仪输入中的下一个标记可以使用 解释为默认基数中的一个短值,则返回true。 |
| boolean | hasNextShort(int radix)
如果扫描仪的输入中的下一个标记可以使用 nextShort()方法解释为指定基数中的一个短值,则返回true。 |
| IOException | ioException()
返回 IOException最后通过此抛出 Scanner的基本 Readable 。 |
| Locale | locale()
返回此扫描仪的区域设置。 |
| MatchResult | match()
返回此扫描仪执行的最后扫描操作的匹配结果。 |
| String | next()
查找并返回此扫描仪的下一个完整令牌。 |
| String | next (Pattern pattern)
如果匹配指定的模式,则返回下一个令牌。 |
| String | next (String pattern)
如果匹配从指定字符串构造的模式,则返回下一个令牌。 |
| BigDecimal | nextBigDecimal()
将输入的下一个标记扫描为BigDecimal 。 |
| BigInteger | nextBigInteger()
将输入的下一个标记扫描为BigInteger 。 |
| BigInteger | nextBigInteger(int radix)
将输入的下一个标记扫描为BigInteger 。 |
| boolean | nextBoolean()
将输入的下一个标记扫描为布尔值,并返回该值。 |
| byte | nextByte()
将输入的下一个标记扫描为 byte 。 |
| byte | nextByte(int radix)
将输入的下一个标记扫描为 byte 。 |
| double | nextDouble()
将输入的下一个标记扫描为 double 。 |
| float | nextFloat()
将输入的下一个标记扫描为 float 。 |
| int | nextInt()
将输入的下一个标记扫描为 int 。 |
| int | nextInt(int radix)
将输入的下一个标记扫描为 int 。 |
| String | nextLine()
将此扫描仪推进到当前行并返回跳过的输入。 |
| long | nextLong()
将输入的下一个标记扫描为 long 。 |
| long | nextLong(int radix)
将输入的下一个标记扫描为 long 。 |
| short | nextShort()
将输入的下一个标记扫描为 short 。 |
| short | nextShort(int radix)
将输入的下一个标记扫描为 short 。 |
| int | radix()
返回此扫描仪的默认基数。 |
| void | remove()
Iterator的此实现不支持删除 Iterator 。 |
| Scanner | reset()
重设此扫描仪。 |
| Scanner | skip (Pattern pattern)
跳过与指定模式匹配的输入,忽略分隔符。 |
| Scanner | skip (String pattern)
跳过与指定字符串构成的模式匹配的输入。 |
| String | toString()
返回此 Scanner的字符串表示 Scanner 。 |
| Scanner | useDelimiter (Pattern pattern)
将此扫描仪的分隔模式设置为指定的模式。 |
| Scanner | useDelimiter(String pattern)
将此扫描器的分隔模式设置为从指定的构造的模式 String 。 |
| Scanner | useLocale (Locale locale)
将此扫描仪的区域设置设置为指定的区域设置。 |
| Scanner | useRadix(int radix)
将此扫描仪的默认基数设置为指定的基数。 |
从System.in读取一个数字:(这个用在控制台上获取输入,web不用) Scanner sc = new Scanner(System.in); int i = sc.nextInt(); 解析字符串,自定义分割符: String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println( s.nextInt() );
System.out.println( s.nextInt() );
System.out.println( s.next() );
System.out.println( s.next() );
s.close(); 输出: 1 2 red blue 解析字符串,正则解析: String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input);
s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
MatchResult result = s.match();
for (int i=1; i<=result.groupCount(); i++)
System.out.println(result.group(i));
s.close();