我目前正在编写一个方法来测试输入字符串(密码)是否包含字典的一部分。字典是一个简单的txt文件,每行一个字。我现在想检查字典的每一行,如果它包含在输入字符串中。下面的代码对我有用:
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没有正确初始化。
有关如何解决此问题的任何建议?代码对我来说似乎很好,但我可能会忽略一个错误。
提前致谢,
Joe Cocker
答案 0 :(得分:5)
你有两次调用readLine() - 内部调用可能返回null
while( (currentLine = myReader.readLine()) != null)
{
if(pLine.contains(currentLine))
{
return false;
}
}