初始化BufferedReader(JAVA)
我目前正在编写一个方法,测试输入字符串(密码)是否包含字典的一部分。字典是一个简单的txt文件,每行一个单词。现在我想检查字典的每一行是否包含在输入字符串中。下面的代码应该适用于我:初始化BufferedReader(JAVA),java,nullpointerexception,bufferedreader,Java,Nullpointerexception,Bufferedreader,我目前正在编写一个方法,测试输入字符串(密码)是否包含字典的一部分。字典是一个简单的txt文件,每行一个单词。现在我想检查字典的每一行是否包含在输入字符串中。下面的代码应该适用于我: public boolean dictionaryCheck(String pLine) { BufferedReader myReader; String currentLine; try { myReader = new BufferedReader(new FileReader("di
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;
}
问题是,当我使用任何参数字符串运行该方法时,会出现以下错误:
错误:java.lang.NullPointerException
因此,我假设BufferedReader没有正确初始化
有没有关于如何解决这个问题的建议?代码对我来说似乎很好,但我可能会忽略一个错误
提前感谢,
Joe Cocker您有两个对readLine()的调用-内部调用可能返回null
while( (currentLine = myReader.readLine()) != null)
{
if(pLine.contains(currentLine))
{
return false;
}
}
您有两个对readLine()的调用-内部调用可能返回null
while( (currentLine = myReader.readLine()) != null)
{
if(pLine.contains(currentLine))
{
return false;
}
}
你能添加完整的stacktrace吗?你能添加完整的stacktrace吗?