2013-10-01 4 views
0

현재 입력 문자열 (암호)에 사전의 일부가 포함되어 있는지 테스트하는 메서드를 작성하고 있습니다. 사전은 한 줄에 하나의 단어가있는 간단한 txt 파일입니다. 이제 입력 문자열에 포함 된 사전의 모든 줄을 확인하려고합니다. 아래의 코드는 나를 위해 작동합니다 :BufferedReader 초기화 (JAVA)

그래서

Error: java.lang.NullPointerException

내가 BufferedReader의가 있다고 가정 :

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; 
} 

문제는 내가 다음과 같은 오류가 어떤 매개 변수 문자열과 방법을 실행할 때이다 올바르게 초기화되지 않았습니다.

이 문제를 해결하는 방법에 대한 제안 사항이 있으십니까? 코드는 나에게 잘 보이지만 실수를 간과 할 수 있습니다. 사전에

감사합니다,

조 코

+0

는 전체 스택 트레이스를 추가 할 수 있습니다 반환 할 수 있을까? – BobTheBuilder

답변

5

당신은 내의 readLine()를 두 번 호출이 - 내부 전화가 null

while((currentLine = myReader.readLine()) != null) 
{ 
    if(pLine.contains(currentLine)) 
    { 
    return false; 
    } 
} 
+0

완벽하게 일했습니다. 감사합니다! –