7.1.2 使用Scanner获取键盘输入
7.1.2 使用Scanner获取键盘输入
使用Scanner
类可以很方便地获取用户的键盘输入, Scanner
是一个基于正则表达式
的文本扫描器,它可以从文件
、输入流
、字符串
中解析出基本类型值和字符串值。
Scanner
类提供了多个构造器,不同的构造器可以接收文件、输入流、字符串作为数据源,用于从文件、输入流、字符串中解析数据。
Scanner主要方法
Scanner
主要提供了两个方法来扫描输入。
方法 | 描述 |
---|---|
hasNextXxx() |
是否还有下一个输入项,其中Xxx 可以是int 、Long 等代表基本数据类型的字符串。如果只是判断是否包含下一个字符串,则直接使用hasNext() |
nextXxx() |
获取下一个输入项。 |
Scanner分隔符
在默认情况下, Scanner
使用空白
(包括空格
、Tab
键、回车
)作为多个输入项之间的分隔符。
Scanner
的读取操作可能被阻塞来等待信息的输入。如果输入源没有结束,Scanner
又读不到更多输入项时(尤其在键盘输入时比较常见), Scanner
的hasNext()
和next()
方法都有可能阻塞, hasNext()
方法是否阻塞与和其相关的next()
方法是否阻塞无关。
逐行读取方法
Scanner
提供了两个简单的方法来逐行读取。
方法 | 描述 |
---|---|
boolean hasNextLine() |
判断输入源中是否还有下一行。 |
String nextLine() |
返回输入源中下一行的字符串。 |
Scanner
获取基本类型的输入项。
读取文件输入
Scanner
不仅能读取用户的键盘输入,还可以读取文件输入。只要在创建Scanner
对象时传入一个File
对象作为参数,就可以让读取该文件的内容。