【问题标题】:java.util.NoSuchElementException on reading a file (Scanner) [duplicate]java.util.NoSuchElementException 读取文件(扫描仪)[重复]
【发布时间】:2012-07-21 02:18:37
【问题描述】:

我有一个包含 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 尚未实现,但应进一步向下。

【问题讨论】:

    标签: java java.util.scanner


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复;我设法通过将扫描仪更改为 Scanner reader = new Scanner(new File(path + client + "\\" + cat +"\\" + querry + ".arch")); 来修复它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多