[英]Initializing a BufferedReader (JAVA)
我目前正在編寫一種方法,測試輸入的String(密碼)是否包含字典的一部分。 字典是一個簡單的txt文件,每行一個單詞。 現在,我想檢查字典的每一行是否包含在輸入String中。 下面的代碼應該為我工作:
public boolean dictionaryCheck(String pLine)
{
BufferedReader myReader;
String currentLine;
try
{
myReader = new BufferedReader(new FileReader("dict.txt"));
while(myReader.readLine() != null)
{
currentLine = myReader.readLine();
if(pLine.contains(currentLine))
{
return false;
}
}
}
catch (Exception e){System.out.println("Error: " + e);}
return true;
}
問題是,當我使用任何參數String運行方法時,都會出現以下錯誤:
Error: java.lang.NullPointerException
因此,我認為BufferedReader沒有正確初始化。
關於如何解決此問題的任何建議? 該代碼對我來說似乎很好,但我可能會忽略一個錯誤。
提前致謝,
喬庫克
您有兩次調用readLine()的方法-內部調用可能返回null
while( (currentLine = myReader.readLine()) != null)
{
if(pLine.contains(currentLine))
{
return false;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.