Me suena que alguien te había comentado que era ineficiente que leyeras dos veces el fichero, una para contar las líneas y otra para leer las líneas.
Pues no sólo es ineficiente, si no que tal y cómo lo tienes es normal que nunca te entre en el segundo bucle.
Cita: //1. Count the number of lines (Nodes)
while( (linea = br.readLine()) != null ){
nNodes++;
}//end while "linea"
¿Cuándo acaba este bucle? Cuando llegas al final del archivo. Y erróneamente supones que al empezar el siguiente bucle el puntero volverá al principio del fichero.
Cita: while( (linea = br.readLine()) != null ){
//READ LINE PER LINE
String [] splitter= linea.split(" "); //Split "linea" for its spaces
for(int x=0; x<nNodes; x++){ //this loop saves the new coordinates.
for(int i=0; i<splitter.length;i++){
matriz[x][i]=Integer.parseInt(splitter[i]);
System.out.println(matriz[x][i]);
System.out.println("parse: "+i);
}//for
}//for
}//end while "linea"