2015-03-13 42 views
0

我的程序不斷拋出nullPointerException對我,我不知道爲什麼。我想也許是因爲bufferedReader,但我不確定。NullPointerException和BufferedReader

String line = reader.readLine(); 
while (!line.isEmpty()) { 
    line = repairLine(line); 
    tree.add(line); 
    line = reader.readLine(); 
} 

是的,它被封裝在try-catch塊中。它說問題出現在線路上。它不適用於「if(line!= null)」。我真的不知道是什麼原因造成的。感謝您的幫助。

+1

郵足夠的代碼,以便有人能重現問題。 – 2015-03-13 15:12:21

+0

您需要使用調試器,並逐行執行代碼。你會發現你的問題,你可能會學到很多 – ControlAltDel 2015-03-13 15:14:05

+0

@misslnTrouble請閱讀:[我應該做什麼當有人回答我的問題](http://stackoverflow.com/help/someone-answers) – CKing 2015-05-30 12:56:54

回答

3

的問題似乎是你的代碼的下面幾行:

String line = reader.readLine(); 
while (!line.isEmpty()) { 

} 

如果有什麼從文件讀取,行會是空的。因此while循環中的異常。您正嘗試在空引用上調用方法。

話雖這麼說,從文件中讀取行的傳統方式是指定的,而條件本身讀取到一個變量的行(代碼未測試):

String line = ""; 
while ((line=reader.readLine()!=null) && !line.isEmpty()) { 
    line = repairLine(line); 
    tree.add(line); 
} 
+0

感謝大家的幫助,我做了調試,並在最後重寫了它幾乎完全避免可能的空值。 – missInTrouble 2015-03-14 09:45:03

+0

所以我猜我的答案沒有任何幫助.. – CKing 2015-03-14 12:01:09

+0

我解開了一切,並重寫了所有。我認爲在這種情況下任何事情都不會有幫助。 – missInTrouble 2015-03-15 00:55:21

相關問題