Il punto è che hai fatto
while (s.hasNextLine()) {
dove dentro non leggi nulla. Lo ripeto: hasNextLine non fa avanzare un bel nulla. Se al primo test dice true, continuerà all'infinito a dire true e a ciclare. Stop.
Sì ma l'indice di riga lo devi far proseguire in avanti man mano che leggi le righe. Non "ciclo su tutte le righe" per ogni riga!