我用一个简单的java程序帮助我的姐妹,我很难过。他们只学习了扫描器类来读取文件内容,所以我认为他们应该使用扫描器类。每行包含字母和可能的空格,我们希望将每一行存储在一个数组中。这个工作正常,花花公子,直到其中一行包含:
abcde f(f之后的空格应该作为一部分读入 线)。
然而,scanner.nextLine()
似乎忽视了最后一个空白区域。我想我可以将扫描仪分隔符设置为\n
,如下所示:
scanner.useDelimiter("\n")
然后从那里使用scanner.Next()
,但这似乎仍然无效。我已经用Google搜索并查看了一些stackoverflow问题。这里的这个问题似乎暗示使用扫描仪类不容易做到:How to read whitespace with scanner.next()
有什么想法吗?我觉得这是一种我能忽视的简单方法。
这就是我在阅读的内容:
While(scanner.hasNextLine(){
String nextLine = scanner.nextLine();
使用上面的示例,我的字符串将显示为abcde f
。它将在最后摆脱空白空间。
我还尝试使用hasNext
和next
。
原谅我的格式化,我正在手机上编辑。
答案 0 :(得分:2)
将文本文件另存为ANSI编码,然后重试。
右scanner.nextLine()
将捕获行中的所有内容,包括空格。
scanner.next()
不会捕获空格,因为默认情况下分隔符是空格。