0

我有一个包含 3 个单词的文本文件,在尝试阅读这些单词时出现以下错误:

Exception in thread "main" java.util.NoSuchElementException  
    at java.util.Scanner.throwFor(Unknown Source)  
    at java.util.Scanner.next(Unknown Source)  
    at search.search(search.java:121)  
    at main.main(main.java:38)  

以下是有问题的代码:

Scanner reader = new Scanner(path + client + "\\" + cat +"\\" + query + ".arch");  
while (reader.hasNext()){  
    String a = reader.next();  // line 121
    String b = reader.next();  
    String c = reader.next();  
    file = new File (path + client + "\\" + a +"\\" + b + ".arch");  
    print(file);  
}

以下是该文件的内容:

po ref refc (末尾有一个新行)

是什么赋予了?我以前使用过一个非常相似的系统,使用相同的文件,一切正常,我什至在下面的几行中使用了一个非常相似的系统。
顺便说一句,字符串 c 尚未实现,但应进一步向下。

4

1 回答 1

1

您确定第 121 行不是下一行之一吗?

您检查reader.hasNext()以确保还有另一个条目,但随后您阅读了a, b,中的 3 个条目c。例如,如果只有一个,b = reader.next()将失败。

于 2012-07-22T17:39:26.457 回答