2012-07-22 128 views
0

我有它有3個字的文本文件,並試圖讀到這些話,我得到以下錯誤:java.util.NoSuchElementException閱讀文件(掃描儀)

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 (with a new line at the end)

是怎麼回事? 我以前使用過一個非常類似的系統,使用相同的文件,並且一切正常,我甚至在下面使用了一個非常類似的系統。
順便說一下,字符串c尚未實現,但應進一步向下。

回答

1

你確定第121行不是下一行嗎?

您檢查reader.hasNext()以確保有另一個入口,但你在abc讀3項。如果只有一個,例如b = reader.next()將會失敗。

+1

感謝您的回覆;我試圖通過將掃描儀更改爲Scanner reader = new Scanner(新文件(路徑+客戶端+「\\」+ cat +「\\」+ querry +「.arch」))來修復它。 – NoobLevler 2012-07-22 17:45:00