簡體   English   中英

初始化BufferedReader(JAVA)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM