扫描仪和空白

问题描述 投票:0回答:1

java.util.Scanner对象如何响应空白字符?具体来说,如果文本文件中的下一个字符是换行符或空格,Scanner.next()将返回换行符或空格,还是返回下一个非空白字符?并且,如果仅空白字符保留在文件中,Scanner.hasNext()会返回true还是false?该文档提到它只选择“完整令牌”,但是我不确定这意味着什么。

java java.util.scanner
1个回答
0
投票

您可以使用hasNextLine()和nextLine()方法来捕获仅包含空格的行。

全部与光标的位置有关,next()方法在读取输入后将光标放置在同一行上,而nextLine()在读取给定的输入后将光标放置在下一行上。

本文非常清楚地解释了这种差异,希望也能回答您的问题。

https://www.javaartifacts.com/difference-next-nextline/

扫描程序将其输入分解为令牌,默认的分隔符为空格。因此,如果您想自定义此默认定界符并使用自己的定界符(例如,逗号),则可以在扫描仪类对象上调用以下方法:

s.useDelimiter(“,”);

有关更多信息,请参考以下文档:

https://docs.oracle.com/javase/tutorial/essential/io/scanning.html

© www.soinside.com 2019 - 2024. All rights reserved.