我目前正在编写一种方法来测试输入的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;
}
}
关于java - 初始化BufferedReader(JAVA),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19116252/