다음 코드는 텍스트 파일을 열고 내용을 쉼표를 구분 기호로 사용하여 토큰으로 나눕니다. 나는 이것과 비슷한 코드를 사용했지만 괜찮 았지만 어떤 이유로, 이것은 "myItems [counter] .name = myTokens [counter];에 NullPointerException을 던지고있다."토큰 Null 포인터 예외
public static serial[] getSerials(String fName) throws Exception {
String total = null;
BufferedReader lineReader = null;
lineReader = new BufferedReader(new FileReader(fName));
while ((lineReader.readLine()) != null) {
total = total + lineReader.readLine() + ",";
} //end while
String[] myTokens = total.split(","); /*break the string csv tokens*/
/*Put together the serial objects*/
serial mySerials[] = new serial[myTokens.length];
int counter = 0;
while (counter < myTokens.length) {
mySerials[counter].name = myTokens[counter];
counter++;
mySerials[counter - 1].onlineISSN = myTokens[counter];
counter++;
}
return mySerials;
} //end getSerials()
총 초기화를 시도 했습니까? like String total = ""; 그리고 StringBuilder를 사용하여 문자열을 '빌드'할 수 있습니다. – Fernando
'myItems [counter] .name = myTokens [counter];'-> 코드에 다음과 같은 행이 없습니다. – BackSlash
Java 명명 규칙을 사용하십시오! 클래스 이름은 대문자로 시작합니다. – ppeterka