Следующий код открывает текстовый файл и разбивает его содержимое на токены с использованием запятой в качестве разделителя. Я использовал код, подобный этому, и он работал нормально, но по какой-то причине это бросает исключение NullPointerException в «myItems [counter] .name = myTokens [counter];»Tokens Null Pointer Exception
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()
Вы пытались инициализировать общее количество? как String total = ""; И вы можете использовать StringBuilder для «сборки» строк. – Fernando
Вы говорите, что получаете ошибку на строке 'myItems [counter] .name = myTokens [counter];' -> В вашем коде нет такой строки – BackSlash
Пожалуйста, используйте соглашение об именах Java! Названия классов начинаются со столиц. – ppeterka