如何使用扫描仪跳过输入?

How to skip an enter using scanner?

提问人: 提问时间:10/14/2023 更新时间:10/14/2023 访问量:52

问:

我一直在使用扫描仪读取文本文件,但得到此输出。

[f,

,

、 女、

,

、 女、

,

、 女、

,

,f]

文本文件字符均由回车符分隔。

我尝试使用 scanner.skip(“\n”);,但这会引发 NoSuchElementException。我该如何解决? 循环:

File file = new File("src/crossword/squares/" + Crossword + ".txt");
ArrayList<String> values = new ArrayList<String>();
        Scanner scanner;
    while(scanner.hasNext())
            {
                scanner.skip("\n");
                scanner.useDelimiter("");
                String value = scanner.next();
                values.add(value);
            }
        } catch(FileNotFoundException e) {
        e.printStackTrace();
        
        }
java.util.scanner txt 输入

评论

1赞 Peter B 10/14/2023
javascript != java。确保标记正确。
0赞 Progman 10/14/2023
欢迎来到 Stack Overflow。请参加导览,了解 Stack Overflow 的工作原理,并阅读如何提问,了解如何提高问题的质量。然后编辑您的问题,将您的源代码作为可操作的最小可重现示例,该示例可以由其他人编译和测试。

答:

1赞 harsh Kanodiya 10/14/2023 #1

换行符的正确转义序列是“\n”(而不是“/n”),您应该在双引号内使用它,而不是斜杠。

Scanner scanner = new Scanner(new File("your_file.txt"));

while (scanner.hasNext()) {
String line = scanner.nextLine();
// Process the line here
}

scanner.close();

hasNext() 方法是 java.util.Scanner 类提供的方法。它用于检查是否有另一个令牌可用于从输入源读取,该令牌可以是文件、流或其他源

评论

0赞 10/14/2023
我确实做了/n,我只是输入了错误的问题