java.util.Scanner
一个简单的文本扫描器,可以使用正则表达式解析基元类型和字符串。
扫描器使用分隔符模式将其输入拆分为标记,默认情况下,分隔符模式与空白匹配。然后,可以使用各种 next 方法将生成的标记转换为不同类型的值。
构造方法摘要
构造器Scanner()
Scanner(File source)
构造一个新的 Scanner,它生成的值是从指定文件扫描的。
Scanner(File source, String charsetName)
构造一个新的 Scanner,它生成的值是从指定文件扫描的。
Scanner(InputStream source)
构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。
Scanner(InputStream source, String charsetName)
构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。
Scanner(Path source)
构造一个新的 Scanner,它生成的值是从指定文件扫描的。
Scanner(Path source, String charsetName)
构造一个新的 Scanner,它生成的值是从指定文件扫描的。
Scanner(Readable source)
构造一个新的 Scanner,它生成的值是从指定源扫描的。
Scanner(ReadableByteChannel source)
构造一个新的 Scanner,它生成的值是从指定信道扫描的。
Scanner(ReadableByteChannel source, String charsetName)
构造一个新的 Scanner,它生成的值是从指定信道扫描的。
Scanner(String source)
构造一个新的 Scanner,它生成的值是从指定字符串扫描的。
方法摘要
返回类型 方法
void close()
关闭此扫描器。
Pattern delimiter()
返回此 Scanner 当前正在用于匹配分隔符的 Pattern。
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 hasNextLine()
读取到有效字符后,返回true。
String next()
有输入数据,则返回字符串数据。
String next(Pattern pattern)
与指定的模式匹配,则返回字符串数据。
String next(String pattern)
与指定字符串构造的模式匹配,则返回字符串数据。
String nextLine()
读取到有效字符后才可以结束输入
IOException ioException()
返回此 Scanner 的底层 Readable 最后抛出的 IOException。
Locale locale()
返回此扫描器的语言环境。
MatchResult match()
返回此扫描器所执行的最后扫描操作的匹配结果。
int radix()
返回此扫描器的默认基数
void remove()
Iterator 的这种实现不支持移除操作。
Scanner reset()
重置此扫描器。
Scanner skip(Pattern pattern)
在忽略分隔符的情况下跳过与指定模式匹配的输入信息。
Scanner skip(String pattern)
跳过与从指定字符串构造的模式匹配的输入信息。
String toString()
返回此 Scanner 的字符串表示形式。
Scanner useDelimiter(Pattern pattern)
将此扫描器的分隔模式设置为指定模式。
Scanner useDelimiter(String pattern)
将此扫描器的分隔模式设置为从指定 String 构造的模式。
Scanner useLocale(Locale locale)
将此扫描器的语言环境设置为指定的语言环境。
Scanner useRadix(int radix)
将此扫描器的默认基数设置为指定基数。
boolean hasNextInt()
输入为int值,则返回true。
boolean hasNextInt(int radix)
输入为默认基数中的int值,则返回true。
int nextInt()
返回输入的数字
int nextInt(int radix)
返回输入的数字,默认基数10
next() 与 nextLine() 区别
next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。