2015-03-29 3 views
0

Я получаю ввод от файла. Файл имеет два столбца. Я хочу сохранить каждый столбец в массиве. Это то, что я делаю.NullPointer Исключение при выполнении строки split

String strArr; 

    for(int x=0;x<=m;x++){ // m is the number of lines to parse 

     strArr = bufReader.readLine(); 
    String[] vals=strArr.split("\\s+ "); 
     System.out.println(strArr); 

    nodei[x]=Integer.parseInt(vals[0]); 
    nodej[x]=Integer.parseInt(vals[1]); 

     } 

я сталкиваюсь NullPointerException на

String[] vals=strArr.split("\\s+ ");

Как решить?

+0

Ваш вопрос, возможно, уже есть ответ здесь: [? Что такое исключение Null Pointer, и как это исправить] (http://stackoverflow.com/questions/218384/what-is-a- нуль-указатель исключений и, как-делать-я-Fix-It) – Pokechu22

ответ

0

если strArr имеет значение null, и вы вызываете на него .split, он будет вызывать нулевой указатель. Перед использованием .split вы можете проверить значение null.

String strArr;

for(int x=0;x<=m;x++){ // m is the number of lines to parse 

    strArr = bufReader.readLine(); 
    if (strArr != null) { 
     String[] vals=strArr.split("\\s+ "); 
     System.out.println(strArr); 

     nodei[x]=Integer.parseInt(vals[0]); 
     nodej[x]=Integer.parseInt(vals[1]); 
    } 
} 
Смежные вопросы