返回类型 方法描述
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();