java - 使用 java 扫描器类读取最后的空格

标签 java java.util.scanner

我正在用一个简单的 Java 程序帮助我的姐妹们,但我被难住了。他们只学习了扫描仪类来读取文件内容,所以我认为他们应该使用扫描仪类。每行包含字母和可能的空格,我们希望将每一行存储在一个数组中。在其中一行包含类似以下内容之前,这工作正常且花花公子:

abcde f (the blank space after f should be read in as part of the line).

但是,scanner.nextLine() 似乎忽略了这最后的空格。我想我可以像这样将我的扫描器定界符设置为 \n:

scanner.useDelimiter("\n")

然后从那里使用 scanner.Next(),但这似乎仍然不起作用。我用谷歌搜索并查看了一些 stackoverflow 问题。这里的这个问题似乎表明使用扫描仪类不容易做到这一点:How to read whitespace with scanner.next()

有什么想法吗?我觉得我忽略了一个简单的方法。

这就是我阅读这些行的方式:

While(scanner.hasNextLine(){
    String nextLine = scanner.nextLine();

使用上面的示例,我的字符串将显示为 abcde f。它将摆脱最后的空白空间。 我也尝试过使用 hasNextnext。 请原谅我的格式,我正在手机上编辑。

最佳答案

将您的文本文件保存为 ANSI 编码并重试。

右边的 scanner.nextLine() 将捕获行中的所有内容,包括空格。

scanner.next() 不会捕获空格,因为分隔符默认为 whitespace

关于java - 使用 java 扫描器类读取最后的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31757244/

相关文章:

java - Microsoft SQL 和 JDBC 中 Prepared Statements 中奇数位置的参数

Java Scanner 不会 "finish"读取输入

java - 文件与程序位于同一文件夹中时出现 FileNotFoundException

Java - Scanner 和 JTextFields 的问题

java - 使用扫描仪读取文件时出现InputMismatchException

java - 在 UI 中使用之前加载 Hibernate 对象图的最佳方法是什么?

java - 将 ArrayList 转换为 HashMap

java - Java 中的自动格式化 HTML 字符串

java - 如何将 JSON 格式的数据从 WebView 传递到 HTML 页面

java - 使用 Java 中的 Scanner 将十六进制值字符串转换为字节数组