JAVA - 扫描仪 - 错误 NoSuchElementException

标签 java java.util.scanner

我在运行此函数时遇到错误。它使用扫描仪在某个文件中查找单词。

这里是:

public static boolean VerifyExistWord(File FileToSearch, String WordToFind) {

    boolean result = false;
    try (Scanner ind = new Scanner(FileToSearch)) {
        while (ind.hasNextLine()) {
            String word = ind.next();
            if (word.equalsIgnoreCase(WordToFind)) {
                result = true;
            }
        }
    } catch (FileNotFoundException e) {
    }
    return result;
}

但是当我执行此操作时,我遇到了 NoSuchElementException

Exception in thread "pool-1-thread-13777" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:907) at java.util.Scanner.next(Scanner.java:1416) at TP.FuncoesAuxiliares.VerifyExistWord(FuncoesAuxiliares.java:66) at TP.PesquisaThreaded.run(PesquisaThreaded.java:90) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)

有人可以帮助我吗?

谢谢。

最佳答案

确保有一个单词首先调用next():

if(ind.hasNext()) {
    String word = ind.next();
    ...
}

关于JAVA - 扫描仪 - 错误 NoSuchElementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32704415/

相关文章:

java - 暂时删除对象的属性?

java - 如何通过 Java 8 中的值过滤 map ?

java - 初始化类

java - 从扫描仪读取并跳过空格

java - 在 try-catch block 中捕获 InputMidmatchException 时无限循环

java - 如何在java中清除控制台

java - 有没有一种方法可以使用Java 8中的流来合并列表中的重复数字?

java - 如何为 Selenium 测试创建兼容的 JAR 文件?

java - 将键盘中的数据存储到数组,同时忽略重复项

java - 从一个类中的文本字段获取输入并在不同类中扫描它